From 4ad249f918d6945c804cb4091897429487d05014 Mon Sep 17 00:00:00 2001 From: shimon Date: Wed, 26 Nov 2025 12:05:12 +0200 Subject: [PATCH 001/220] Revert "Revert "Merge pull request #10682 from appwrite/refactor-auth-single-instance"" This reverts commit 8765d5650a7ca2babc6a5e920f7498175ed953a3. --- app/cli.php | 28 ++- app/config/storage/resource_limits.php | 4 +- app/controllers/api/account.php | 139 +++++++----- app/controllers/api/avatars.php | 29 +-- app/controllers/api/graphql.php | 5 +- app/controllers/api/messaging.php | 65 +++--- app/controllers/api/migrations.php | 34 ++- app/controllers/api/project.php | 9 +- app/controllers/api/storage.php | 202 +++++++++--------- app/controllers/api/teams.php | 138 ++++++------ app/controllers/api/users.php | 6 +- app/controllers/api/vcs.php | 60 +++--- app/controllers/general.php | 62 +++--- app/controllers/shared/api.php | 53 ++--- app/controllers/shared/api/auth.php | 7 +- app/http.php | 28 ++- app/init/database/filters.php | 15 +- app/init/resources.php | 96 +++++---- app/realtime.php | 23 +- app/worker.php | 49 +++-- composer.json | 2 +- src/Appwrite/Auth/Auth.php | 4 +- src/Appwrite/Databases/TransactionState.php | 10 +- src/Appwrite/Migration/Migration.php | 6 +- .../Platform/Modules/Compute/Base.php | 8 +- .../Modules/Console/Http/Resources/Get.php | 6 +- .../Collections/Attributes/Action.php | 10 +- .../Collections/Attributes/Boolean/Create.php | 6 +- .../Collections/Attributes/Boolean/Update.php | 5 +- .../Attributes/Datetime/Create.php | 7 +- .../Attributes/Datetime/Update.php | 5 +- .../Collections/Attributes/Delete.php | 5 +- .../Collections/Attributes/Email/Create.php | 7 +- .../Collections/Attributes/Email/Update.php | 5 +- .../Collections/Attributes/Enum/Create.php | 7 +- .../Collections/Attributes/Enum/Update.php | 5 +- .../Collections/Attributes/Float/Create.php | 6 +- .../Collections/Attributes/Float/Update.php | 5 +- .../Databases/Collections/Attributes/Get.php | 5 +- .../Collections/Attributes/IP/Create.php | 7 +- .../Collections/Attributes/IP/Update.php | 5 +- .../Collections/Attributes/Integer/Create.php | 6 +- .../Collections/Attributes/Integer/Update.php | 5 +- .../Collections/Attributes/Line/Create.php | 6 +- .../Collections/Attributes/Line/Update.php | 5 +- .../Collections/Attributes/Point/Create.php | 6 +- .../Collections/Attributes/Point/Update.php | 5 +- .../Collections/Attributes/Polygon/Create.php | 6 +- .../Collections/Attributes/Polygon/Update.php | 5 +- .../Attributes/Relationship/Create.php | 7 +- .../Attributes/Relationship/Update.php | 6 +- .../Collections/Attributes/String/Create.php | 8 +- .../Collections/Attributes/String/Update.php | 6 +- .../Collections/Attributes/URL/Create.php | 7 +- .../Collections/Attributes/URL/Update.php | 6 +- .../Collections/Attributes/XList.php | 5 +- .../Http/Databases/Collections/Create.php | 5 +- .../Http/Databases/Collections/Delete.php | 5 +- .../Collections/Documents/Action.php | 7 +- .../Documents/Attribute/Decrement.php | 13 +- .../Documents/Attribute/Increment.php | 13 +- .../Collections/Documents/Create.php | 43 ++-- .../Collections/Documents/Delete.php | 17 +- .../Databases/Collections/Documents/Get.php | 12 +- .../Collections/Documents/Logs/XList.php | 5 +- .../Collections/Documents/Update.php | 26 +-- .../Collections/Documents/Upsert.php | 26 +-- .../Databases/Collections/Documents/XList.php | 16 +- .../Http/Databases/Collections/Get.php | 5 +- .../Databases/Collections/Indexes/Create.php | 5 +- .../Databases/Collections/Indexes/Delete.php | 5 +- .../Databases/Collections/Indexes/Get.php | 5 +- .../Databases/Collections/Indexes/XList.php | 7 +- .../Http/Databases/Collections/Logs/XList.php | 39 ++-- .../Http/Databases/Collections/Update.php | 5 +- .../Http/Databases/Collections/Usage/Get.php | 5 +- .../Http/Databases/Collections/XList.php | 5 +- .../Http/Databases/Transactions/Create.php | 5 +- .../Transactions/Operations/Create.php | 34 +-- .../Http/Databases/Transactions/Update.php | 37 ++-- .../Databases/Http/Databases/Usage/Get.php | 5 +- .../Databases/Http/Databases/Usage/XList.php | 5 +- .../Tables/Columns/Boolean/Create.php | 1 + .../Tables/Columns/Boolean/Update.php | 1 + .../Tables/Columns/Datetime/Create.php | 1 + .../Tables/Columns/Datetime/Update.php | 1 + .../Http/TablesDB/Tables/Columns/Delete.php | 1 + .../TablesDB/Tables/Columns/Email/Create.php | 1 + .../TablesDB/Tables/Columns/Email/Update.php | 1 + .../TablesDB/Tables/Columns/Enum/Create.php | 1 + .../TablesDB/Tables/Columns/Enum/Update.php | 1 + .../TablesDB/Tables/Columns/Float/Create.php | 1 + .../TablesDB/Tables/Columns/Float/Update.php | 1 + .../Http/TablesDB/Tables/Columns/Get.php | 1 + .../TablesDB/Tables/Columns/IP/Create.php | 1 + .../TablesDB/Tables/Columns/IP/Update.php | 1 + .../Tables/Columns/Integer/Create.php | 1 + .../Tables/Columns/Integer/Update.php | 1 + .../TablesDB/Tables/Columns/Line/Create.php | 1 + .../TablesDB/Tables/Columns/Line/Update.php | 1 + .../TablesDB/Tables/Columns/Point/Create.php | 1 + .../TablesDB/Tables/Columns/Point/Update.php | 1 + .../Tables/Columns/Polygon/Create.php | 1 + .../Tables/Columns/Polygon/Update.php | 1 + .../Tables/Columns/Relationship/Create.php | 1 + .../Tables/Columns/Relationship/Update.php | 1 + .../TablesDB/Tables/Columns/String/Create.php | 1 + .../TablesDB/Tables/Columns/String/Update.php | 1 + .../TablesDB/Tables/Columns/URL/Create.php | 1 + .../TablesDB/Tables/Columns/URL/Update.php | 1 + .../Http/TablesDB/Tables/Columns/XList.php | 1 + .../Databases/Http/TablesDB/Tables/Create.php | 1 + .../Databases/Http/TablesDB/Tables/Delete.php | 1 + .../Databases/Http/TablesDB/Tables/Get.php | 1 + .../Http/TablesDB/Tables/Indexes/Create.php | 12 ++ .../Http/TablesDB/Tables/Indexes/Delete.php | 1 + .../Http/TablesDB/Tables/Indexes/Get.php | 1 + .../Http/TablesDB/Tables/Indexes/XList.php | 1 + .../Http/TablesDB/Tables/Logs/XList.php | 1 + .../Http/TablesDB/Tables/Rows/Bulk/Delete.php | 1 + .../Http/TablesDB/Tables/Rows/Bulk/Update.php | 1 + .../Http/TablesDB/Tables/Rows/Bulk/Upsert.php | 1 + .../TablesDB/Tables/Rows/Column/Decrement.php | 1 + .../TablesDB/Tables/Rows/Column/Increment.php | 1 + .../Http/TablesDB/Tables/Rows/Create.php | 1 + .../Http/TablesDB/Tables/Rows/Delete.php | 1 + .../Http/TablesDB/Tables/Rows/Get.php | 1 + .../Http/TablesDB/Tables/Rows/Logs/XList.php | 1 + .../Http/TablesDB/Tables/Rows/Update.php | 1 + .../Http/TablesDB/Tables/Rows/Upsert.php | 1 + .../Http/TablesDB/Tables/Rows/XList.php | 1 + .../Databases/Http/TablesDB/Tables/Update.php | 1 + .../Http/TablesDB/Tables/Usage/Get.php | 1 + .../Databases/Http/TablesDB/Tables/XList.php | 1 + .../Http/TablesDB/Transactions/Create.php | 1 + .../Transactions/Operations/Create.php | 1 + .../Http/TablesDB/Transactions/Update.php | 1 + .../Databases/Http/TablesDB/Usage/Get.php | 1 + .../Databases/Http/TablesDB/Usage/XList.php | 1 + .../Functions/Http/Executions/Create.php | 25 +-- .../Functions/Http/Executions/Delete.php | 6 +- .../Modules/Functions/Http/Executions/Get.php | 10 +- .../Functions/Http/Executions/XList.php | 10 +- .../Functions/Http/Functions/Create.php | 8 +- .../Functions/Http/Functions/Delete.php | 6 +- .../Http/Functions/Deployment/Update.php | 10 +- .../Functions/Http/Functions/Update.php | 6 +- .../Modules/Functions/Http/Usage/Get.php | 5 +- .../Modules/Functions/Http/Usage/XList.php | 5 +- .../Functions/Http/Variables/Create.php | 6 +- .../Functions/Http/Variables/Delete.php | 6 +- .../Functions/Http/Variables/Update.php | 6 +- .../Modules/Functions/Workers/Builds.php | 16 +- .../Modules/Sites/Http/Deployments/Create.php | 8 +- .../Http/Deployments/Duplicate/Create.php | 6 +- .../Http/Deployments/Template/Create.php | 7 +- .../Sites/Http/Deployments/Vcs/Create.php | 6 +- .../Sites/Http/Sites/Deployment/Update.php | 8 +- .../Platform/Modules/Sites/Http/Usage/Get.php | 6 +- .../Modules/Sites/Http/Usage/XList.php | 5 +- .../Http/Tokens/Buckets/Files/Action.php | 17 +- .../Http/Tokens/Buckets/Files/Create.php | 11 +- .../Http/Tokens/Buckets/Files/XList.php | 6 +- src/Appwrite/Platform/Tasks/Migrate.php | 9 +- src/Appwrite/Platform/Tasks/ScheduleBase.php | 3 +- .../Platform/Tasks/StatsResources.php | 6 +- src/Appwrite/Platform/Workers/Deletes.php | 7 +- src/Appwrite/Platform/Workers/Functions.php | 2 - src/Appwrite/Platform/Workers/Migrations.php | 10 +- src/Appwrite/Utopia/Request.php | 9 +- src/Appwrite/Utopia/Request/Filter.php | 2 +- src/Appwrite/Utopia/Request/Filters/V20.php | 7 +- src/Appwrite/Utopia/Response.php | 9 +- .../DatabasesPermissionsGuestTest.php | 25 ++- .../DatabasesPermissionsGuestTest.php | 25 ++- .../Health/HealthCustomServerTest.php | 1 - tests/e2e/Services/Tokens/TokensBase.php | 8 +- tests/unit/Auth/AuthTest.php | 36 +++- .../unit/Messaging/MessagingChannelsTest.php | 18 +- 179 files changed, 1226 insertions(+), 846 deletions(-) diff --git a/app/cli.php b/app/cli.php index 71b6464cb9..0900926346 100644 --- a/app/cli.php +++ b/app/cli.php @@ -40,8 +40,6 @@ Config::setParam('runtimes', (new Runtimes('v5'))->getAll(supported: false)); // require controllers after overwriting runtimes require_once __DIR__ . '/controllers/general.php'; -Authorization::disable(); - CLI::setResource('register', fn () => $register); CLI::setResource('cache', function ($pools) { @@ -59,7 +57,13 @@ CLI::setResource('pools', function (Registry $register) { return $register->get('pools'); }, ['register']); -CLI::setResource('dbForPlatform', function ($pools, $cache) { +CLI::setResource('authorization', function () { + $authorization = new Authorization(); + $authorization->disable(); + return $authorization; +}, []); + +CLI::setResource('dbForPlatform', function ($pools, $cache, $authorization) { $sleep = 3; $maxAttempts = 5; $attempts = 0; @@ -73,6 +77,7 @@ CLI::setResource('dbForPlatform', function ($pools, $cache) { $dbForPlatform = new Database($adapter, $cache); $dbForPlatform + ->setAuthorization($authorization) ->setNamespace('_console') ->setMetadata('host', \gethostname()) ->setMetadata('project', 'console'); @@ -97,7 +102,7 @@ CLI::setResource('dbForPlatform', function ($pools, $cache) { } return $dbForPlatform; -}, ['pools', 'cache']); +}, ['pools', 'cache', 'authorization']); CLI::setResource('console', function () { return new Document(Config::getParam('console')); @@ -108,10 +113,10 @@ CLI::setResource( fn () => fn (Document $project, string $resourceType, ?string $resourceId) => false ); -CLI::setResource('getProjectDB', function (Group $pools, Database $dbForPlatform, $cache) { +CLI::setResource('getProjectDB', function (Group $pools, Database $dbForPlatform, $cache, $authorization) { $databases = []; // TODO: @Meldiron This should probably be responsibility of utopia-php/pools - return function (Document $project) use ($pools, $dbForPlatform, $cache, &$databases) { + return function (Document $project) use ($pools, $dbForPlatform, $cache, $authorization, &$databases) { if ($project->isEmpty() || $project->getId() === 'console') { return $dbForPlatform; } @@ -144,6 +149,7 @@ CLI::setResource('getProjectDB', function (Group $pools, Database $dbForPlatform $adapter = new DatabasePool($pools->get($dsn->getHost())); $database = new Database($adapter, $cache); + $databases[$dsn->getHost()] = $database; $sharedTables = \explode(',', System::getEnv('_APP_DATABASE_SHARED_TABLES', '')); @@ -160,17 +166,18 @@ CLI::setResource('getProjectDB', function (Group $pools, Database $dbForPlatform } $database + ->setAuthorization($authorization) ->setMetadata('host', \gethostname()) ->setMetadata('project', $project->getId()); return $database; }; -}, ['pools', 'dbForPlatform', 'cache']); +}, ['pools', 'dbForPlatform', 'cache', 'authorization']); -CLI::setResource('getLogsDB', function (Group $pools, Cache $cache) { +CLI::setResource('getLogsDB', function (Group $pools, Cache $cache, Authorization $authorization) { $database = null; - return function (?Document $project = null) use ($pools, $cache, $database) { + return function (?Document $project = null) use ($pools, $cache, $database, $authorization) { if ($database !== null && $project !== null && !$project->isEmpty() && $project->getId() !== 'console') { $database->setTenant((int)$project->getSequence()); return $database; @@ -180,6 +187,7 @@ CLI::setResource('getLogsDB', function (Group $pools, Cache $cache) { $database = new Database($adapter, $cache); $database + ->setAuthorization($authorization) ->setSharedTables(true) ->setNamespace('logsV1') ->setTimeout(APP_DATABASE_TIMEOUT_MILLISECONDS_TASK) @@ -192,7 +200,7 @@ CLI::setResource('getLogsDB', function (Group $pools, Cache $cache) { return $database; }; -}, ['pools', 'cache']); +}, ['pools', 'cache', 'authorization']); CLI::setResource('publisher', function (Group $pools) { return new BrokerPool(publisher: $pools->get('publisher')); }, ['pools']); diff --git a/app/config/storage/resource_limits.php b/app/config/storage/resource_limits.php index cfbcea5a47..43ed2b8b05 100644 --- a/app/config/storage/resource_limits.php +++ b/app/config/storage/resource_limits.php @@ -3,4 +3,6 @@ use Utopia\Image\Image; use Utopia\System\System; -Image::setResourceLimit('memory', intval(System::getEnv('_APP_IMAGES_RESOURCE_LIMIT_MEMORY', 1024*1024*64))); +if (\class_exists('Imagick')) { + Image::setResourceLimit('memory', intval(System::getEnv('_APP_IMAGES_RESOURCE_LIMIT_MEMORY', 1024*1024*64))); +} diff --git a/app/controllers/api/account.php b/app/controllers/api/account.php index 36b36ca5f2..c827552c09 100644 --- a/app/controllers/api/account.php +++ b/app/controllers/api/account.php @@ -190,10 +190,10 @@ function sendSessionAlert(Locale $locale, Document $user, Document $project, Doc ; -$createSession = function (string $userId, string $secret, Request $request, Response $response, Document $user, Database $dbForProject, Document $project, Locale $locale, Reader $geodb, Event $queueForEvents, Mail $queueForMails) { +$createSession = function (string $userId, string $secret, Request $request, Response $response, Document $user, Database $dbForProject, Document $project, Locale $locale, Reader $geodb, Event $queueForEvents, Mail $queueForMails, Authorization $authorization) { /** @var Utopia\Database\Document $user */ - $userFromRequest = Authorization::skip(fn () => $dbForProject->getDocument('users', $userId)); + $userFromRequest = $authorization->skip(fn () => $dbForProject->getDocument('users', $userId)); if ($userFromRequest->isEmpty()) { throw new Exception(Exception::USER_INVALID_TOKEN); @@ -239,7 +239,7 @@ $createSession = function (string $userId, string $secret, Request $request, Res $detector->getDevice() )); - Authorization::setRole(Role::user($user->getId())->toString()); + $authorization->addRole(Role::user($user->getId())->toString()); $session = $dbForProject->createDocument('sessions', $session ->setAttribute('$permissions', [ @@ -248,7 +248,7 @@ $createSession = function (string $userId, string $secret, Request $request, Res Permission::delete(Role::user($user->getId())), ])); - Authorization::skip(fn () => $dbForProject->deleteDocument('tokens', $verifiedToken->getId())); + $authorization->skip(fn () => $dbForProject->deleteDocument('tokens', $verifiedToken->getId())); $dbForProject->purgeCachedDocument('users', $user->getId()); // Magic URL + Email OTP @@ -344,8 +344,9 @@ App::post('/v1/account') ->inject('user') ->inject('project') ->inject('dbForProject') + ->inject('authorization') ->inject('hooks') - ->action(function (string $userId, string $email, string $password, string $name, Request $request, Response $response, Document $user, Document $project, Database $dbForProject, Hooks $hooks) { + ->action(function (string $userId, string $email, string $password, string $name, Request $request, Response $response, Document $user, Document $project, Database $dbForProject, Authorization $authorization, Hooks $hooks) { $email = \strtolower($email); if ('console' === $project->getId()) { @@ -436,9 +437,9 @@ App::post('/v1/account') ]); $user->removeAttribute('$sequence'); - $user = Authorization::skip(fn () => $dbForProject->createDocument('users', $user)); + $user = $authorization->skip(fn () => $dbForProject->createDocument('users', $user)); try { - $target = Authorization::skip(fn () => $dbForProject->createDocument('targets', new Document([ + $target = $authorization->skip(fn () => $dbForProject->createDocument('targets', new Document([ '$permissions' => [ Permission::read(Role::user($user->getId())), Permission::update(Role::user($user->getId())), @@ -464,9 +465,9 @@ App::post('/v1/account') throw new Exception(Exception::USER_ALREADY_EXISTS); } - Authorization::unsetRole(Role::guests()->toString()); - Authorization::setRole(Role::user($user->getId())->toString()); - Authorization::setRole(Role::users()->toString()); + $authorization->removeRole(Role::guests()->toString()); + $authorization->addRole(Role::user($user->getId())->toString()); + $authorization->addRole(Role::users()->toString()); $response ->setStatusCode(Response::STATUS_CODE_CREATED) @@ -927,7 +928,8 @@ App::post('/v1/account/sessions/email') ->inject('queueForEvents') ->inject('queueForMails') ->inject('hooks') - ->action(function (string $email, string $password, Request $request, Response $response, Document $user, Database $dbForProject, Document $project, Locale $locale, Reader $geodb, Event $queueForEvents, Mail $queueForMails, Hooks $hooks) { + ->inject('authorization') + ->action(function (string $email, string $password, Request $request, Response $response, Document $user, Database $dbForProject, Document $project, Locale $locale, Reader $geodb, Event $queueForEvents, Mail $queueForMails, Hooks $hooks, Authorization $authorization) { $email = \strtolower($email); $protocol = $request->getProtocol(); @@ -970,7 +972,7 @@ App::post('/v1/account/sessions/email') $detector->getDevice() )); - Authorization::setRole(Role::user($user->getId())->toString()); + $authorization->addRole(Role::user($user->getId())->toString()); // Re-hash if not using recommended algo if ($user->getAttribute('hash') !== Auth::DEFAULT_ALGO) { @@ -1062,7 +1064,8 @@ App::post('/v1/account/sessions/anonymous') ->inject('dbForProject') ->inject('geodb') ->inject('queueForEvents') - ->action(function (Request $request, Response $response, Locale $locale, Document $user, Document $project, Database $dbForProject, Reader $geodb, Event $queueForEvents) { + ->inject('authorization') + ->action(function (Request $request, Response $response, Locale $locale, Document $user, Document $project, Database $dbForProject, Reader $geodb, Event $queueForEvents, Authorization $authorization) { $protocol = $request->getProtocol(); if ('console' === $project->getId()) { @@ -1107,7 +1110,7 @@ App::post('/v1/account/sessions/anonymous') 'accessedAt' => DateTime::now(), ]); $user->removeAttribute('$sequence'); - Authorization::skip(fn () => $dbForProject->createDocument('users', $user)); + $user = $authorization->skip(fn () => $dbForProject->createDocument('users', $user)); // Create session token $duration = $project->getAttribute('auths', [])['duration'] ?? Auth::TOKEN_EXPIRATION_LOGIN_LONG; @@ -1133,7 +1136,7 @@ App::post('/v1/account/sessions/anonymous') $detector->getDevice() )); - Authorization::setRole(Role::user($user->getId())->toString()); + $authorization->addRole(Role::user($user->getId())->toString()); $session = $dbForProject->createDocument('sessions', $session->setAttribute('$permissions', [ Permission::read(Role::user($user->getId())), @@ -1206,6 +1209,7 @@ App::post('/v1/account/sessions/token') ->inject('geodb') ->inject('queueForEvents') ->inject('queueForMails') + ->inject('authorization') ->action($createSession); App::get('/v1/account/sessions/oauth2/:provider') @@ -1398,7 +1402,8 @@ App::get('/v1/account/sessions/oauth2/:provider/redirect') ->inject('dbForProject') ->inject('geodb') ->inject('queueForEvents') - ->action(function (string $provider, string $code, string $state, string $error, string $error_description, Request $request, Response $response, Document $project, array $platforms, Document $devKey, Document $user, Database $dbForProject, Reader $geodb, Event $queueForEvents) use ($oauthDefaultSuccess) { + ->inject('authorization') + ->action(function (string $provider, string $code, string $state, string $error, string $error_description, Request $request, Response $response, Document $project, array $platforms, Document $devKey, Document $user, Database $dbForProject, Reader $geodb, Event $queueForEvents, Authorization $authorization) use ($oauthDefaultSuccess) { $protocol = System::getEnv('_APP_OPTIONS_FORCE_HTTPS') === 'disabled' ? 'http' : 'https'; $port = $request->getPort(); $callbackBase = $protocol . '://' . $request->getHostname(); @@ -1651,7 +1656,7 @@ App::get('/v1/account/sessions/oauth2/:provider/redirect') ]); $user->removeAttribute('$sequence'); - $userDoc = Authorization::skip(fn () => $dbForProject->createDocument('users', $user)); + $userDoc = $authorization->skip(fn () => $dbForProject->createDocument('users', $user)); $dbForProject->createDocument('targets', new Document([ '$permissions' => [ Permission::read(Role::user($user->getId())), @@ -1670,8 +1675,8 @@ App::get('/v1/account/sessions/oauth2/:provider/redirect') } } - Authorization::setRole(Role::user($user->getId())->toString()); - Authorization::setRole(Role::users()->toString()); + $authorization->addRole(Role::user($user->getId())->toString()); + $authorization->addRole(Role::users()->toString()); if (false === $user->getAttribute('status')) { // Account is blocked $failureRedirect(Exception::USER_BLOCKED); // User is in status blocked @@ -1742,7 +1747,7 @@ App::get('/v1/account/sessions/oauth2/:provider/redirect') $dbForProject->updateDocument('users', $user->getId(), $user); - Authorization::setRole(Role::user($user->getId())->toString()); + $authorization->addRole(Role::user($user->getId())->toString()); $state['success'] = URLParser::parse($state['success']); $query = URLParser::parseQuery($state['success']['query']); @@ -1764,7 +1769,7 @@ App::get('/v1/account/sessions/oauth2/:provider/redirect') 'ip' => $request->getIP(), ]); - Authorization::setRole(Role::user($user->getId())->toString()); + $authorization->addRole(Role::user($user->getId())->toString()); $token = $dbForProject->createDocument('tokens', $token ->setAttribute('$permissions', [ @@ -1991,7 +1996,8 @@ App::post('/v1/account/tokens/magic-url') ->inject('locale') ->inject('queueForEvents') ->inject('queueForMails') - ->action(function (string $userId, string $email, string $url, bool $phrase, Request $request, Response $response, Document $user, Document $project, Database $dbForProject, Locale $locale, Event $queueForEvents, Mail $queueForMails) { + ->inject('authorization') + ->action(function (string $userId, string $email, string $url, bool $phrase, Request $request, Response $response, Document $user, Document $project, Database $dbForProject, Locale $locale, Event $queueForEvents, Mail $queueForMails, Authorization $authorization) { if (empty(System::getEnv('_APP_SMTP_HOST'))) { throw new Exception(Exception::GENERAL_SMTP_DISABLED, 'SMTP disabled'); } @@ -2064,7 +2070,7 @@ App::post('/v1/account/tokens/magic-url') ]); $user->removeAttribute('$sequence'); - Authorization::skip(fn () => $dbForProject->createDocument('users', $user)); + $user = $authorization->skip(fn () => $dbForProject->createDocument('users', $user)); } $tokenSecret = Auth::tokenGenerator(Auth::TOKEN_LENGTH_MAGIC_URL); @@ -2081,7 +2087,7 @@ App::post('/v1/account/tokens/magic-url') 'ip' => $request->getIP(), ]); - Authorization::setRole(Role::user($user->getId())->toString()); + $authorization->addRole(Role::user($user->getId())->toString()); $token = $dbForProject->createDocument('tokens', $token ->setAttribute('$permissions', [ @@ -2254,7 +2260,8 @@ App::post('/v1/account/tokens/email') ->inject('locale') ->inject('queueForEvents') ->inject('queueForMails') - ->action(function (string $userId, string $email, bool $phrase, Request $request, Response $response, Document $user, Document $project, Database $dbForProject, Locale $locale, Event $queueForEvents, Mail $queueForMails) { + ->inject('authorization') + ->action(function (string $userId, string $email, bool $phrase, Request $request, Response $response, Document $user, Document $project, Database $dbForProject, Locale $locale, Event $queueForEvents, Mail $queueForMails, Authorization $authorization) { if (empty(System::getEnv('_APP_SMTP_HOST'))) { throw new Exception(Exception::GENERAL_SMTP_DISABLED, 'SMTP disabled'); } @@ -2323,9 +2330,9 @@ App::post('/v1/account/tokens/email') ]); $user->removeAttribute('$sequence'); - $user = Authorization::skip(fn () => $dbForProject->createDocument('users', $user)); + $user = $authorization->skip(fn () => $dbForProject->createDocument('users', $user)); try { - $target = Authorization::skip(fn () => $dbForProject->createDocument('targets', new Document([ + $target = $authorization->skip(fn () => $dbForProject->createDocument('targets', new Document([ '$permissions' => [ Permission::read(Role::user($user->getId())), Permission::update(Role::user($user->getId())), @@ -2363,7 +2370,7 @@ App::post('/v1/account/tokens/email') 'ip' => $request->getIP(), ]); - Authorization::setRole(Role::user($user->getId())->toString()); + $authorization->addRole(Role::user($user->getId())->toString()); $token = $dbForProject->createDocument('tokens', $token ->setAttribute('$permissions', [ @@ -2544,6 +2551,7 @@ App::put('/v1/account/sessions/magic-url') ->inject('geodb') ->inject('queueForEvents') ->inject('queueForMails') + ->inject('authorization') ->action($createSession); App::put('/v1/account/sessions/phone') @@ -2585,6 +2593,7 @@ App::put('/v1/account/sessions/phone') ->inject('geodb') ->inject('queueForEvents') ->inject('queueForMails') + ->inject('authorization') ->action($createSession); App::post('/v1/account/tokens/phone') @@ -2625,7 +2634,8 @@ App::post('/v1/account/tokens/phone') ->inject('timelimit') ->inject('queueForStatsUsage') ->inject('plan') - ->action(function (string $userId, string $phone, Request $request, Response $response, Document $user, Document $project, Database $dbForProject, Event $queueForEvents, Messaging $queueForMessaging, Locale $locale, callable $timelimit, StatsUsage $queueForStatsUsage, array $plan) { + ->inject('authorization') + ->action(function (string $userId, string $phone, Request $request, Response $response, Document $user, Document $project, Database $dbForProject, Event $queueForEvents, Messaging $queueForMessaging, Locale $locale, callable $timelimit, StatsUsage $queueForStatsUsage, array $plan, Authorization $authorization) { if (empty(System::getEnv('_APP_SMS_PROVIDER'))) { throw new Exception(Exception::GENERAL_PHONE_DISABLED, 'Phone provider not configured'); } @@ -2675,9 +2685,9 @@ App::post('/v1/account/tokens/phone') ]); $user->removeAttribute('$sequence'); - Authorization::skip(fn () => $dbForProject->createDocument('users', $user)); + $user = $authorization->skip(fn () => $dbForProject->createDocument('users', $user)); try { - $target = Authorization::skip(fn () => $dbForProject->createDocument('targets', new Document([ + $target = $authorization->skip(fn () => $dbForProject->createDocument('targets', new Document([ '$permissions' => [ Permission::read(Role::user($user->getId())), Permission::update(Role::user($user->getId())), @@ -2723,7 +2733,7 @@ App::post('/v1/account/tokens/phone') 'ip' => $request->getIP(), ]); - Authorization::setRole(Role::user($user->getId())->toString()); + $authorization->addRole(Role::user($user->getId())->toString()); $token = $dbForProject->createDocument('tokens', $token ->setAttribute('$permissions', [ @@ -3109,7 +3119,8 @@ App::patch('/v1/account/email') ->inject('queueForEvents') ->inject('project') ->inject('hooks') - ->action(function (string $email, string $password, ?\DateTime $requestTimestamp, Response $response, Document $user, Database $dbForProject, Event $queueForEvents, Document $project, Hooks $hooks) { + ->inject('authorization') + ->action(function (string $email, string $password, ?\DateTime $requestTimestamp, Response $response, Document $user, Database $dbForProject, Event $queueForEvents, Document $project, Hooks $hooks, Authorization $authorization) { // passwordUpdate will be empty if the user has never set a password $passwordUpdate = $user->getAttribute('passwordUpdate'); @@ -3159,7 +3170,7 @@ App::patch('/v1/account/email') ->setAttribute('passwordUpdate', DateTime::now()); } - $target = Authorization::skip(fn () => $dbForProject->findOne('targets', [ + $target = $authorization->skip(fn () => $dbForProject->findOne('targets', [ Query::equal('identifier', [$email]), ])); @@ -3175,7 +3186,7 @@ App::patch('/v1/account/email') $oldTarget = $user->find('identifier', $oldEmail, 'targets'); if ($oldTarget instanceof Document && !$oldTarget->isEmpty()) { - Authorization::skip(fn () => $dbForProject->updateDocument('targets', $oldTarget->getId(), $oldTarget->setAttribute('identifier', $email))); + $authorization->skip(fn () => $dbForProject->updateDocument('targets', $oldTarget->getId(), $oldTarget->setAttribute('identifier', $email))); } $dbForProject->purgeCachedDocument('users', $user->getId()); } catch (Duplicate) { @@ -3217,7 +3228,8 @@ App::patch('/v1/account/phone') ->inject('queueForEvents') ->inject('project') ->inject('hooks') - ->action(function (string $phone, string $password, ?\DateTime $requestTimestamp, Response $response, Document $user, Database $dbForProject, Event $queueForEvents, Document $project, Hooks $hooks) { + ->inject('authorization') + ->action(function (string $phone, string $password, ?\DateTime $requestTimestamp, Response $response, Document $user, Database $dbForProject, Event $queueForEvents, Document $project, Hooks $hooks, Authorization $authorization) { // passwordUpdate will be empty if the user has never set a password $passwordUpdate = $user->getAttribute('passwordUpdate'); @@ -3230,7 +3242,7 @@ App::patch('/v1/account/phone') $hooks->trigger('passwordValidator', [$dbForProject, $project, $password, &$user, false]); - $target = Authorization::skip(fn () => $dbForProject->findOne('targets', [ + $target = $authorization->skip(fn () => $dbForProject->findOne('targets', [ Query::equal('identifier', [$phone]), ])); @@ -3261,7 +3273,7 @@ App::patch('/v1/account/phone') $oldTarget = $user->find('identifier', $oldPhone, 'targets'); if ($oldTarget instanceof Document && !$oldTarget->isEmpty()) { - Authorization::skip(fn () => $dbForProject->updateDocument('targets', $oldTarget->getId(), $oldTarget->setAttribute('identifier', $phone))); + $authorization->skip(fn () => $dbForProject->updateDocument('targets', $oldTarget->getId(), $oldTarget->setAttribute('identifier', $phone))); } $dbForProject->purgeCachedDocument('users', $user->getId()); } catch (Duplicate $th) { @@ -3395,7 +3407,8 @@ App::post('/v1/account/recovery') ->inject('locale') ->inject('queueForMails') ->inject('queueForEvents') - ->action(function (string $email, string $url, Request $request, Response $response, Document $user, Database $dbForProject, Document $project, Locale $locale, Mail $queueForMails, Event $queueForEvents) { + ->inject('authorization') + ->action(function (string $email, string $url, Request $request, Response $response, Document $user, Database $dbForProject, Document $project, Locale $locale, Mail $queueForMails, Event $queueForEvents, Authorization $authorization) { if (empty(System::getEnv('_APP_SMTP_HOST'))) { throw new Exception(Exception::GENERAL_SMTP_DISABLED, 'SMTP Disabled'); @@ -3431,7 +3444,7 @@ App::post('/v1/account/recovery') 'ip' => $request->getIP(), ]); - Authorization::setRole(Role::user($profile->getId())->toString()); + $authorization->addRole(Role::user($profile->getId())->toString()); $recovery = $dbForProject->createDocument('tokens', $recovery ->setAttribute('$permissions', [ @@ -3573,7 +3586,8 @@ App::put('/v1/account/recovery') ->inject('project') ->inject('queueForEvents') ->inject('hooks') - ->action(function (string $userId, string $secret, string $password, Response $response, Document $user, Database $dbForProject, Document $project, Event $queueForEvents, Hooks $hooks) { + ->inject('authorization') + ->action(function (string $userId, string $secret, string $password, Response $response, Document $user, Database $dbForProject, Document $project, Event $queueForEvents, Hooks $hooks, Authorization $authorization) { $profile = $dbForProject->getDocument('users', $userId); if ($profile->isEmpty()) { @@ -3587,7 +3601,7 @@ App::put('/v1/account/recovery') throw new Exception(Exception::USER_INVALID_TOKEN); } - Authorization::setRole(Role::user($profile->getId())->toString()); + $authorization->addRole(Role::user($profile->getId())->toString()); $newPassword = Auth::passwordHash($password, Auth::DEFAULT_ALGO, Auth::DEFAULT_ALGO_OPTIONS); @@ -3685,7 +3699,8 @@ App::post('/v1/account/verifications/email') ->inject('locale') ->inject('queueForEvents') ->inject('queueForMails') - ->action(function (string $url, Request $request, Response $response, Document $project, Document $user, Database $dbForProject, Locale $locale, Event $queueForEvents, Mail $queueForMails) { + ->inject('authorization') + ->action(function (string $url, Request $request, Response $response, Document $project, Document $user, Database $dbForProject, Locale $locale, Event $queueForEvents, Mail $queueForMails, Authorization $authorization) { if (empty(System::getEnv('_APP_SMTP_HOST'))) { throw new Exception(Exception::GENERAL_SMTP_DISABLED, 'SMTP Disabled'); @@ -3714,7 +3729,7 @@ App::post('/v1/account/verifications/email') 'ip' => $request->getIP(), ]); - Authorization::setRole(Role::user($user->getId())->toString()); + $authorization->addRole(Role::user($user->getId())->toString()); $verification = $dbForProject->createDocument('tokens', $verification ->setAttribute('$permissions', [ @@ -3897,9 +3912,10 @@ App::put('/v1/account/verifications/email') ->inject('user') ->inject('dbForProject') ->inject('queueForEvents') - ->action(function (string $userId, string $secret, Response $response, Document $user, Database $dbForProject, Event $queueForEvents) { + ->inject('authorization') + ->action(function (string $userId, string $secret, Response $response, Document $user, Database $dbForProject, Event $queueForEvents, Authorization $authorization) { - $profile = Authorization::skip(fn () => $dbForProject->getDocument('users', $userId)); + $profile = $authorization->skip(fn () => $dbForProject->getDocument('users', $userId)); if ($profile->isEmpty()) { throw new Exception(Exception::USER_NOT_FOUND); @@ -3912,7 +3928,7 @@ App::put('/v1/account/verifications/email') throw new Exception(Exception::USER_INVALID_TOKEN); } - Authorization::setRole(Role::user($profile->getId())->toString()); + $authorization->addRole(Role::user($profile->getId())->toString()); $profile = $dbForProject->updateDocument('users', $profile->getId(), $profile->setAttribute('emailVerification', true)); @@ -3971,7 +3987,8 @@ App::post('/v1/account/verifications/phone') ->inject('timelimit') ->inject('queueForStatsUsage') ->inject('plan') - ->action(function (Request $request, Response $response, Document $user, Database $dbForProject, Event $queueForEvents, Messaging $queueForMessaging, Document $project, Locale $locale, callable $timelimit, StatsUsage $queueForStatsUsage, array $plan) { + ->inject('authorization') + ->action(function (Request $request, Response $response, Document $user, Database $dbForProject, Event $queueForEvents, Messaging $queueForMessaging, Document $project, Locale $locale, callable $timelimit, StatsUsage $queueForStatsUsage, array $plan, Authorization $authorization) { if (empty(System::getEnv('_APP_SMS_PROVIDER'))) { throw new Exception(Exception::GENERAL_PHONE_DISABLED, 'Phone provider not configured'); } @@ -4010,7 +4027,7 @@ App::post('/v1/account/verifications/phone') 'ip' => $request->getIP(), ]); - Authorization::setRole(Role::user($user->getId())->toString()); + $authorization->addRole(Role::user($user->getId())->toString()); $verification = $dbForProject->createDocument('tokens', $verification ->setAttribute('$permissions', [ @@ -4115,9 +4132,10 @@ App::put('/v1/account/verifications/phone') ->inject('user') ->inject('dbForProject') ->inject('queueForEvents') - ->action(function (string $userId, string $secret, Response $response, Document $user, Database $dbForProject, Event $queueForEvents) { + ->inject('authorization') + ->action(function (string $userId, string $secret, Response $response, Document $user, Database $dbForProject, Event $queueForEvents, Authorization $authorization) { - $profile = Authorization::skip(fn () => $dbForProject->getDocument('users', $userId)); + $profile = $authorization->skip(fn () => $dbForProject->getDocument('users', $userId)); if ($profile->isEmpty()) { throw new Exception(Exception::USER_NOT_FOUND); @@ -4129,7 +4147,7 @@ App::put('/v1/account/verifications/phone') throw new Exception(Exception::USER_INVALID_TOKEN); } - Authorization::setRole(Role::user($profile->getId())->toString()); + $authorization->addRole(Role::user($profile->getId())->toString()); $profile = $dbForProject->updateDocument('users', $profile->getId(), $profile->setAttribute('phoneVerification', true)); @@ -4180,12 +4198,13 @@ App::post('/v1/account/targets/push') ->inject('request') ->inject('response') ->inject('dbForProject') - ->action(function (string $targetId, string $identifier, string $providerId, Event $queueForEvents, Document $user, Request $request, Response $response, Database $dbForProject) { + ->inject('authorization') + ->action(function (string $targetId, string $identifier, string $providerId, Event $queueForEvents, Document $user, Request $request, Response $response, Database $dbForProject, Authorization $authorization) { $targetId = $targetId == 'unique()' ? ID::unique() : $targetId; - $provider = Authorization::skip(fn () => $dbForProject->getDocument('providers', $providerId)); + $provider = $authorization->skip(fn () => $dbForProject->getDocument('providers', $providerId)); - $target = Authorization::skip(fn () => $dbForProject->getDocument('targets', $targetId)); + $target = $authorization->skip(fn () => $dbForProject->getDocument('targets', $targetId)); if (!$target->isEmpty()) { throw new Exception(Exception::USER_TARGET_ALREADY_EXISTS); @@ -4260,9 +4279,10 @@ App::put('/v1/account/targets/:targetId/push') ->inject('request') ->inject('response') ->inject('dbForProject') - ->action(function (string $targetId, string $identifier, Event $queueForEvents, Document $user, Request $request, Response $response, Database $dbForProject) { + ->inject('authorization') + ->action(function (string $targetId, string $identifier, Event $queueForEvents, Document $user, Request $request, Response $response, Database $dbForProject, Authorization $authorization) { - $target = Authorization::skip(fn () => $dbForProject->getDocument('targets', $targetId)); + $target = $authorization->skip(fn () => $dbForProject->getDocument('targets', $targetId)); if ($target->isEmpty()) { throw new Exception(Exception::USER_TARGET_NOT_FOUND); @@ -4325,8 +4345,9 @@ App::delete('/v1/account/targets/:targetId/push') ->inject('request') ->inject('response') ->inject('dbForProject') - ->action(function (string $targetId, Event $queueForEvents, Delete $queueForDeletes, Document $user, Request $request, Response $response, Database $dbForProject) { - $target = Authorization::skip(fn () => $dbForProject->getDocument('targets', $targetId)); + ->inject('authorization') + ->action(function (string $targetId, Event $queueForEvents, Delete $queueForDeletes, Document $user, Request $request, Response $response, Database $dbForProject, Authorization $authorization) { + $target = $authorization->skip(fn () => $dbForProject->getDocument('targets', $targetId)); if ($target->isEmpty()) { throw new Exception(Exception::USER_TARGET_NOT_FOUND); diff --git a/app/controllers/api/avatars.php b/app/controllers/api/avatars.php index d0cb3e554c..544e22a0fa 100644 --- a/app/controllers/api/avatars.php +++ b/app/controllers/api/avatars.php @@ -70,9 +70,9 @@ $avatarCallback = function (string $type, string $code, int $width, int $height, unset($image); }; -$getUserGitHub = function (string $userId, Document $project, Database $dbForProject, Database $dbForPlatform, ?Logger $logger) { +$getUserGitHub = function (string $userId, Document $project, Database $dbForProject, Database $dbForPlatform, Authorization $authorization, ?Logger $logger) { try { - $user = Authorization::skip(fn () => $dbForPlatform->getDocument('users', $userId)); + $user = $authorization->skip(fn () => $dbForPlatform->getDocument('users', $userId)); $sessions = $user->getAttribute('sessions', []); @@ -123,7 +123,7 @@ $getUserGitHub = function (string $userId, Document $project, Database $dbForPro ->setAttribute('providerRefreshToken', $refreshToken) ->setAttribute('providerAccessTokenExpiry', DateTime::addSeconds(new \DateTime(), (int)$oauth2->getAccessTokenExpiry(''))); - Authorization::skip(fn () => $dbForProject->updateDocument('sessions', $gitHubSession->getId(), $gitHubSession)); + $authorization->skip(fn () => $dbForProject->updateDocument('sessions', $gitHubSession->getId(), $gitHubSession)); $dbForProject->purgeCachedDocument('users', $user->getId()); } catch (Throwable $err) { @@ -131,7 +131,7 @@ $getUserGitHub = function (string $userId, Document $project, Database $dbForPro do { $previousAccessToken = $gitHubSession->getAttribute('providerAccessToken'); - $user = Authorization::skip(fn () => $dbForPlatform->getDocument('users', $userId)); + $user = $authorization->skip(fn () => $dbForPlatform->getDocument('users', $userId)); $sessions = $user->getAttribute('sessions', []); $gitHubSession = new Document(); @@ -841,8 +841,9 @@ App::get('/v1/cards/cloud') ->inject('contributors') ->inject('employees') ->inject('logger') - ->action(function (string $userId, string $mock, int $width, int $height, Document $user, Document $project, Database $dbForProject, Database $dbForPlatform, Response $response, array $heroes, array $contributors, array $employees, ?Logger $logger) use ($getUserGitHub) { - $user = Authorization::skip(fn () => $dbForPlatform->getDocument('users', $userId)); + ->inject('authorization') + ->action(function (string $userId, string $mock, int $width, int $height, Document $user, Document $project, Database $dbForProject, Database $dbForPlatform, Response $response, array $heroes, array $contributors, array $employees, ?Logger $logger, Authorization $authorization) use ($getUserGitHub) { + $user = $authorization->skip(fn () => $dbForPlatform->getDocument('users', $userId)); if ($user->isEmpty() && empty($mock)) { throw new Exception(Exception::USER_NOT_FOUND); @@ -853,7 +854,7 @@ App::get('/v1/cards/cloud') $email = $user->getAttribute('email', ''); $createdAt = new \DateTime($user->getCreatedAt()); - $gitHub = $getUserGitHub($user->getId(), $project, $dbForProject, $dbForPlatform, $logger); + $gitHub = $getUserGitHub($user->getId(), $project, $dbForProject, $dbForPlatform, $logger, $authorization); $githubName = $gitHub['name'] ?? ''; $githubId = $gitHub['id'] ?? ''; @@ -1048,8 +1049,9 @@ App::get('/v1/cards/cloud-back') ->inject('contributors') ->inject('employees') ->inject('logger') - ->action(function (string $userId, string $mock, int $width, int $height, Document $user, Document $project, Database $dbForProject, Database $dbForPlatform, Response $response, array $heroes, array $contributors, array $employees, ?Logger $logger) use ($getUserGitHub) { - $user = Authorization::skip(fn () => $dbForPlatform->getDocument('users', $userId)); + ->inject('authorization') + ->action(function (string $userId, string $mock, int $width, int $height, Document $user, Document $project, Database $dbForProject, Database $dbForPlatform, Response $response, array $heroes, array $contributors, array $employees, ?Logger $logger, Authorization $authorization) use ($getUserGitHub) { + $user = $authorization->skip(fn () => $dbForPlatform->getDocument('users', $userId)); if ($user->isEmpty() && empty($mock)) { throw new Exception(Exception::USER_NOT_FOUND); @@ -1059,7 +1061,7 @@ App::get('/v1/cards/cloud-back') $userId = $user->getId(); $email = $user->getAttribute('email', ''); - $gitHub = $getUserGitHub($user->getId(), $project, $dbForProject, $dbForPlatform, $logger); + $gitHub = $getUserGitHub($user->getId(), $project, $dbForProject, $dbForPlatform, $logger, $authorization); $githubId = $gitHub['id'] ?? ''; $isHero = \array_key_exists($email, $heroes); @@ -1126,8 +1128,9 @@ App::get('/v1/cards/cloud-og') ->inject('contributors') ->inject('employees') ->inject('logger') - ->action(function (string $userId, string $mock, int $width, int $height, Document $user, Document $project, Database $dbForProject, Database $dbForPlatform, Response $response, array $heroes, array $contributors, array $employees, ?Logger $logger) use ($getUserGitHub) { - $user = Authorization::skip(fn () => $dbForPlatform->getDocument('users', $userId)); + ->inject('authorization') + ->action(function (string $userId, string $mock, int $width, int $height, Document $user, Document $project, Database $dbForProject, Database $dbForPlatform, Response $response, array $heroes, array $contributors, array $employees, ?Logger $logger, Authorization $authorization) use ($getUserGitHub) { + $user = $authorization->skip(fn () => $dbForPlatform->getDocument('users', $userId)); if ($user->isEmpty() && empty($mock)) { throw new Exception(Exception::USER_NOT_FOUND); @@ -1142,7 +1145,7 @@ App::get('/v1/cards/cloud-og') $email = $user->getAttribute('email', ''); $createdAt = new \DateTime($user->getCreatedAt()); - $gitHub = $getUserGitHub($user->getId(), $project, $dbForProject, $dbForPlatform, $logger); + $gitHub = $getUserGitHub($user->getId(), $project, $dbForProject, $dbForPlatform, $logger, $authorization); $githubName = $gitHub['name'] ?? ''; $githubId = $gitHub['id'] ?? ''; diff --git a/app/controllers/api/graphql.php b/app/controllers/api/graphql.php index 482b38d698..d0480225da 100644 --- a/app/controllers/api/graphql.php +++ b/app/controllers/api/graphql.php @@ -28,11 +28,12 @@ use Utopia\Validator\Text; App::init() ->groups(['graphql']) ->inject('project') - ->action(function (Document $project) { + ->inject('authorization') + ->action(function (Document $project, Authorization $authorization) { if ( array_key_exists('graphql', $project->getAttribute('apis', [])) && !$project->getAttribute('apis', [])['graphql'] - && !(Auth::isPrivilegedUser(Authorization::getRoles()) || Auth::isAppUser(Authorization::getRoles())) + && !(Auth::isPrivilegedUser($authorization->getRoles()) || Auth::isAppUser($authorization->getRoles())) ) { throw new AppwriteException(AppwriteException::GENERAL_API_DISABLED); } diff --git a/app/controllers/api/messaging.php b/app/controllers/api/messaging.php index 58a0ffe42f..dbbc667c94 100644 --- a/app/controllers/api/messaging.php +++ b/app/controllers/api/messaging.php @@ -36,6 +36,7 @@ use Utopia\Database\Exception\Query as QueryException; use Utopia\Database\Helpers\ID; use Utopia\Database\Query; use Utopia\Database\Validator\Authorization; +use Utopia\Database\Validator\Authorization\Input; use Utopia\Database\Validator\Datetime as DatetimeValidator; use Utopia\Database\Validator\Queries; use Utopia\Database\Validator\Query\Cursor; @@ -1070,8 +1071,9 @@ App::get('/v1/messaging/providers') ->param('search', '', new Text(256), 'Search term to filter your list results. Max length: 256 chars.', true) ->param('total', true, new Boolean(true), 'When set to false, the total count returned will be 0 and will not be calculated.', true) ->inject('dbForProject') + ->inject('authorization') ->inject('response') - ->action(function (array $queries, string $search, bool $includeTotal, Database $dbForProject, Response $response) { + ->action(function (array $queries, string $search, bool $includeTotal, Database $dbForProject, Authorization $authorization, Response $response) { try { $queries = Query::parseQueries($queries); } catch (QueryException $e) { @@ -1097,7 +1099,7 @@ App::get('/v1/messaging/providers') } $providerId = $cursor->getValue(); - $cursorDocument = Authorization::skip(fn () => $dbForProject->getDocument('providers', $providerId)); + $cursorDocument = $authorization->skip(fn () => $dbForProject->getDocument('providers', $providerId)); if ($cursorDocument->isEmpty()) { throw new Exception(Exception::GENERAL_CURSOR_NOT_FOUND, "Provider '{$providerId}' for the 'cursor' value not found."); @@ -2477,8 +2479,9 @@ App::get('/v1/messaging/topics') ->param('search', '', new Text(256), 'Search term to filter your list results. Max length: 256 chars.', true) ->param('total', true, new Boolean(true), 'When set to false, the total count returned will be 0 and will not be calculated.', true) ->inject('dbForProject') + ->inject('authorization') ->inject('response') - ->action(function (array $queries, string $search, bool $includeTotal, Database $dbForProject, Response $response) { + ->action(function (array $queries, string $search, bool $includeTotal, Database $dbForProject, Authorization $authorization, Response $response) { try { $queries = Query::parseQueries($queries); } catch (QueryException $e) { @@ -2504,7 +2507,7 @@ App::get('/v1/messaging/topics') } $topicId = $cursor->getValue(); - $cursorDocument = Authorization::skip(fn () => $dbForProject->getDocument('topics', $topicId)); + $cursorDocument = $authorization->skip(fn () => $dbForProject->getDocument('topics', $topicId)); if ($cursorDocument->isEmpty()) { throw new Exception(Exception::GENERAL_CURSOR_NOT_FOUND, "Topic '{$topicId}' for the 'cursor' value not found."); @@ -2780,29 +2783,27 @@ App::post('/v1/messaging/topics/:topicId/subscribers') ->param('targetId', '', new UID(), 'Target ID. The target ID to link to the specified Topic ID.') ->inject('queueForEvents') ->inject('dbForProject') + ->inject('authorization') ->inject('response') - ->action(function (string $subscriberId, string $topicId, string $targetId, Event $queueForEvents, Database $dbForProject, Response $response) { + ->action(function (string $subscriberId, string $topicId, string $targetId, Event $queueForEvents, Database $dbForProject, Authorization $authorization, Response $response) { $subscriberId = $subscriberId == 'unique()' ? ID::unique() : $subscriberId; - $topic = Authorization::skip(fn () => $dbForProject->getDocument('topics', $topicId)); + $topic = $authorization->skip(fn () => $dbForProject->getDocument('topics', $topicId)); if ($topic->isEmpty()) { throw new Exception(Exception::TOPIC_NOT_FOUND); } - - $validator = new Authorization('subscribe'); - - if (!$validator->isValid($topic->getAttribute('subscribe'))) { - throw new Exception(Exception::USER_UNAUTHORIZED, $validator->getDescription()); + if (!$authorization->isValid(new Input('subscribe', $topic->getAttribute('subscribe')))) { + throw new Exception(Exception::USER_UNAUTHORIZED, $authorization->getDescription()); } - $target = Authorization::skip(fn () => $dbForProject->getDocument('targets', $targetId)); + $target = $authorization->skip(fn () => $dbForProject->getDocument('targets', $targetId)); if ($target->isEmpty()) { throw new Exception(Exception::USER_TARGET_NOT_FOUND); } - $user = Authorization::skip(fn () => $dbForProject->getDocument('users', $target->getAttribute('userId'))); + $user = $authorization->skip(fn () => $dbForProject->getDocument('users', $target->getAttribute('userId'))); $subscriber = new Document([ '$id' => $subscriberId, @@ -2835,7 +2836,7 @@ App::post('/v1/messaging/topics/:topicId/subscribers') default => throw new Exception(Exception::TARGET_PROVIDER_INVALID_TYPE), }; - Authorization::skip(fn () => $dbForProject->increaseDocumentAttribute( + $authorization->skip(fn () => $dbForProject->increaseDocumentAttribute( 'topics', $topicId, $totalAttribute, @@ -2880,8 +2881,9 @@ App::get('/v1/messaging/topics/:topicId/subscribers') ->param('search', '', new Text(256), 'Search term to filter your list results. Max length: 256 chars.', true) ->param('total', true, new Boolean(true), 'When set to false, the total count returned will be 0 and will not be calculated.', true) ->inject('dbForProject') + ->inject('authorization') ->inject('response') - ->action(function (string $topicId, array $queries, string $search, bool $includeTotal, Database $dbForProject, Response $response) { + ->action(function (string $topicId, array $queries, string $search, bool $includeTotal, Database $dbForProject, Authorization $authorization, Response $response) { try { $queries = Query::parseQueries($queries); } catch (QueryException $e) { @@ -2892,7 +2894,7 @@ App::get('/v1/messaging/topics/:topicId/subscribers') $queries[] = Query::search('search', $search); } - $topic = Authorization::skip(fn () => $dbForProject->getDocument('topics', $topicId)); + $topic = $authorization->skip(fn () => $dbForProject->getDocument('topics', $topicId)); if ($topic->isEmpty()) { throw new Exception(Exception::TOPIC_NOT_FOUND); @@ -2915,7 +2917,7 @@ App::get('/v1/messaging/topics/:topicId/subscribers') } $subscriberId = $cursor->getValue(); - $cursorDocument = Authorization::skip(fn () => $dbForProject->getDocument('subscribers', $subscriberId)); + $cursorDocument = $authorization->skip(fn () => $dbForProject->getDocument('subscribers', $subscriberId)); if ($cursorDocument->isEmpty()) { throw new Exception(Exception::GENERAL_CURSOR_NOT_FOUND, "Subscriber '{$subscriberId}' for the 'cursor' value not found."); @@ -2929,10 +2931,10 @@ App::get('/v1/messaging/topics/:topicId/subscribers') throw new Exception(Exception::DATABASE_QUERY_ORDER_NULL, "The order attribute '{$e->getAttribute()}' had a null value. Cursor pagination requires all documents order attribute values are non-null."); } - $subscribers = batch(\array_map(function (Document $subscriber) use ($dbForProject) { - return function () use ($subscriber, $dbForProject) { - $target = Authorization::skip(fn () => $dbForProject->getDocument('targets', $subscriber->getAttribute('targetId'))); - $user = Authorization::skip(fn () => $dbForProject->getDocument('users', $target->getAttribute('userId'))); + $subscribers = batch(\array_map(function (Document $subscriber) use ($dbForProject, $authorization) { + return function () use ($subscriber, $dbForProject, $authorization) { + $target = $authorization->skip(fn () => $dbForProject->getDocument('targets', $subscriber->getAttribute('targetId'))); + $user = $authorization->skip(fn () => $dbForProject->getDocument('users', $target->getAttribute('userId'))); return $subscriber ->setAttribute('target', $target) @@ -3067,9 +3069,10 @@ App::get('/v1/messaging/topics/:topicId/subscribers/:subscriberId') ->param('topicId', '', new UID(), 'Topic ID. The topic ID subscribed to.') ->param('subscriberId', '', new UID(), 'Subscriber ID.') ->inject('dbForProject') + ->inject('authorization') ->inject('response') - ->action(function (string $topicId, string $subscriberId, Database $dbForProject, Response $response) { - $topic = Authorization::skip(fn () => $dbForProject->getDocument('topics', $topicId)); + ->action(function (string $topicId, string $subscriberId, Database $dbForProject, Authorization $authorization, Response $response) { + $topic = $authorization->skip(fn () => $dbForProject->getDocument('topics', $topicId)); if ($topic->isEmpty()) { throw new Exception(Exception::TOPIC_NOT_FOUND); @@ -3081,8 +3084,8 @@ App::get('/v1/messaging/topics/:topicId/subscribers/:subscriberId') throw new Exception(Exception::SUBSCRIBER_NOT_FOUND); } - $target = Authorization::skip(fn () => $dbForProject->getDocument('targets', $subscriber->getAttribute('targetId'))); - $user = Authorization::skip(fn () => $dbForProject->getDocument('users', $target->getAttribute('userId'))); + $target = $authorization->skip(fn () => $dbForProject->getDocument('targets', $subscriber->getAttribute('targetId'))); + $user = $authorization->skip(fn () => $dbForProject->getDocument('users', $target->getAttribute('userId'))); $subscriber ->setAttribute('target', $target) @@ -3118,9 +3121,10 @@ App::delete('/v1/messaging/topics/:topicId/subscribers/:subscriberId') ->param('subscriberId', '', new UID(), 'Subscriber ID.') ->inject('queueForEvents') ->inject('dbForProject') + ->inject('authorization') ->inject('response') - ->action(function (string $topicId, string $subscriberId, Event $queueForEvents, Database $dbForProject, Response $response) { - $topic = Authorization::skip(fn () => $dbForProject->getDocument('topics', $topicId)); + ->action(function (string $topicId, string $subscriberId, Event $queueForEvents, Database $dbForProject, Authorization $authorization, Response $response) { + $topic = $authorization->skip(fn () => $dbForProject->getDocument('topics', $topicId)); if ($topic->isEmpty()) { throw new Exception(Exception::TOPIC_NOT_FOUND); @@ -3143,7 +3147,7 @@ App::delete('/v1/messaging/topics/:topicId/subscribers/:subscriberId') default => throw new Exception(Exception::TARGET_PROVIDER_INVALID_TYPE), }; - Authorization::skip(fn () => $dbForProject->decreaseDocumentAttribute( + $authorization->skip(fn () => $dbForProject->decreaseDocumentAttribute( 'topics', $topicId, $totalAttribute, @@ -3700,8 +3704,9 @@ App::get('/v1/messaging/messages') ->param('search', '', new Text(256), 'Search term to filter your list results. Max length: 256 chars.', true) ->param('total', true, new Boolean(true), 'When set to false, the total count returned will be 0 and will not be calculated.', true) ->inject('dbForProject') + ->inject('authorization') ->inject('response') - ->action(function (array $queries, string $search, bool $includeTotal, Database $dbForProject, Response $response) { + ->action(function (array $queries, string $search, bool $includeTotal, Database $dbForProject, Authorization $authorization, Response $response) { try { $queries = Query::parseQueries($queries); } catch (QueryException $e) { @@ -3727,7 +3732,7 @@ App::get('/v1/messaging/messages') } $messageId = $cursor->getValue(); - $cursorDocument = Authorization::skip(fn () => $dbForProject->getDocument('messages', $messageId)); + $cursorDocument = $authorization->skip(fn () => $dbForProject->getDocument('messages', $messageId)); if ($cursorDocument->isEmpty()) { throw new Exception(Exception::GENERAL_CURSOR_NOT_FOUND, "Message '{$messageId}' for the 'cursor' value not found."); diff --git a/app/controllers/api/migrations.php b/app/controllers/api/migrations.php index 41b98ab333..f9d134db05 100644 --- a/app/controllers/api/migrations.php +++ b/app/controllers/api/migrations.php @@ -1,5 +1,6 @@ inject('response') ->inject('dbForProject') ->inject('dbForPlatform') + ->inject('authorization') ->inject('project') ->inject('deviceForFiles') ->inject('deviceForMigrations') ->inject('queueForEvents') ->inject('queueForMigrations') - ->action(function ( - string $bucketId, - string $fileId, - string $resourceId, - bool $internalFile, - Response $response, - Database $dbForProject, - Database $dbForPlatform, - Document $project, - Device $deviceForFiles, - Device $deviceForMigrations, - Event $queueForEvents, - Migration $queueForMigrations - ) { - $bucket = Authorization::skip(function () use ($internalFile, $dbForPlatform, $dbForProject, $bucketId) { + ->action(function (string $bucketId, string $fileId, string $resourceId, bool $internalFile, Response $response, Database $dbForProject, Database $dbForPlatform, Authorization $authorization, Document $project, Device $deviceForFiles, Device $deviceForMigrations, Event $queueForEvents, Migration $queueForMigrations) { + $isAPIKey = Auth::isAppUser($authorization->getRoles()); + $isPrivilegedUser = Auth::isPrivilegedUser($authorization->getRoles()); + if ($internalFile && !$isPrivilegedUser) { + throw new Exception(Exception::USER_UNAUTHORIZED); + } + $bucket = $authorization->skip(function () use ($internalFile, $dbForPlatform, $dbForProject, $bucketId) { if ($internalFile) { return $dbForPlatform->getDocument('buckets', 'default'); } @@ -364,7 +358,7 @@ App::post('/v1/migrations/csv/imports') throw new Exception(Exception::STORAGE_BUCKET_NOT_FOUND); } - $file = Authorization::skip(fn () => $internalFile ? $dbForPlatform->getDocument('bucket_' . $bucket->getSequence(), $fileId) : $dbForProject->getDocument('bucket_' . $bucket->getSequence(), $fileId)); + $file = $authorization->skip(fn () => $internalFile ? $dbForPlatform->getDocument('bucket_' . $bucket->getSequence(), $fileId) : $dbForProject->getDocument('bucket_' . $bucket->getSequence(), $fileId)); if ($file->isEmpty()) { throw new Exception(Exception::STORAGE_FILE_NOT_FOUND); } @@ -480,6 +474,7 @@ App::post('/v1/migrations/csv/exports') ->inject('response') ->inject('dbForProject') ->inject('dbForPlatform') + ->inject('authorization') ->inject('project') ->inject('queueForEvents') ->inject('queueForMigrations') @@ -497,6 +492,7 @@ App::post('/v1/migrations/csv/exports') Response $response, Database $dbForProject, Database $dbForPlatform, + Authorization $authorization, Document $project, Event $queueForEvents, Migration $queueForMigrations @@ -507,7 +503,7 @@ App::post('/v1/migrations/csv/exports') throw new Exception(Exception::GENERAL_QUERY_INVALID, $e->getMessage()); } - $bucket = Authorization::skip(fn () => $dbForPlatform->getDocument('buckets', 'default')); + $bucket = $authorization->skip(fn () => $dbForPlatform->getDocument('buckets', 'default')); if ($bucket->isEmpty()) { throw new Exception(Exception::STORAGE_BUCKET_NOT_FOUND); } @@ -520,12 +516,12 @@ App::post('/v1/migrations/csv/exports') throw new Exception(Exception::COLLECTION_NOT_FOUND); } - $database = Authorization::skip(fn () => $dbForProject->getDocument('databases', $databaseId)); + $database = $authorization->skip(fn () => $dbForProject->getDocument('databases', $databaseId)); if ($database->isEmpty()) { throw new Exception(Exception::DATABASE_NOT_FOUND); } - $collection = Authorization::skip(fn () => $dbForProject->getDocument('database_' . $database->getSequence(), $collectionId)); + $collection = $authorization->skip(fn () => $dbForProject->getDocument('database_' . $database->getSequence(), $collectionId)); if ($collection->isEmpty()) { throw new Exception(Exception::COLLECTION_NOT_FOUND); } diff --git a/app/controllers/api/project.php b/app/controllers/api/project.php index a57675d3e8..cda03f923a 100644 --- a/app/controllers/api/project.php +++ b/app/controllers/api/project.php @@ -45,9 +45,10 @@ App::get('/v1/project/usage') ->inject('response') ->inject('project') ->inject('dbForProject') + ->inject('authorization') ->inject('getLogsDB') ->inject('smsRates') - ->action(function (string $startDate, string $endDate, string $period, Response $response, Document $project, Database $dbForProject, callable $getLogsDB, array $smsRates) { + ->action(function (string $startDate, string $endDate, string $period, Response $response, Document $project, Database $dbForProject, Authorization $authorization, callable $getLogsDB, array $smsRates) { $stats = $total = $usage = []; $format = 'Y-m-d 00:00:00'; $firstDay = (new DateTime($startDate))->format($format); @@ -102,7 +103,7 @@ App::get('/v1/project/usage') '1d' => 'Y-m-d\T00:00:00.000P', }; - Authorization::skip(function () use ($dbForProject, $dbForLogs, $firstDay, $lastDay, $period, $metrics, $limit, &$total, &$stats) { + $authorization->skip(function () use ($dbForProject, $dbForLogs, $firstDay, $lastDay, $period, $metrics, $limit, &$total, &$stats) { foreach ($metrics['total'] as $metric) { $db = ($metric === METRIC_FILES_IMAGES_TRANSFORMED) ? $dbForLogs : $dbForProject; @@ -286,7 +287,7 @@ App::get('/v1/project/usage') }, $dbForProject->find('functions')); // This total is includes free and paid SMS usage - $authPhoneTotal = Authorization::skip(fn () => $dbForProject->sum('stats', 'value', [ + $authPhoneTotal = $authorization->skip(fn () => $dbForProject->sum('stats', 'value', [ Query::equal('metric', [METRIC_AUTH_METHOD_PHONE]), Query::equal('period', ['1d']), Query::greaterThanEqual('time', $firstDay), @@ -294,7 +295,7 @@ App::get('/v1/project/usage') ])); // This estimate is only for paid SMS usage - $authPhoneMetrics = Authorization::skip(fn () => $dbForProject->find('stats', [ + $authPhoneMetrics = $authorization->skip(fn () => $dbForProject->find('stats', [ Query::startsWith('metric', METRIC_AUTH_METHOD_PHONE . '.'), Query::equal('period', ['1d']), Query::greaterThanEqual('time', $firstDay), diff --git a/app/controllers/api/storage.php b/app/controllers/api/storage.php index 0aac690e3c..c1e0bd02f5 100644 --- a/app/controllers/api/storage.php +++ b/app/controllers/api/storage.php @@ -32,6 +32,7 @@ use Utopia\Database\Helpers\Permission; use Utopia\Database\Helpers\Role; use Utopia\Database\Query; use Utopia\Database\Validator\Authorization; +use Utopia\Database\Validator\Authorization\Input; use Utopia\Database\Validator\Permissions; use Utopia\Database\Validator\Query\Cursor; use Utopia\Database\Validator\UID; @@ -433,20 +434,20 @@ App::post('/v1/storage/buckets/:bucketId/files') ->inject('mode') ->inject('deviceForFiles') ->inject('deviceForLocal') - ->action(function (string $bucketId, string $fileId, mixed $file, ?array $permissions, Request $request, Response $response, Database $dbForProject, Document $user, Event $queueForEvents, string $mode, Device $deviceForFiles, Device $deviceForLocal) { + ->inject('authorization') + ->action(function (string $bucketId, string $fileId, mixed $file, ?array $permissions, Request $request, Response $response, Database $dbForProject, Document $user, Event $queueForEvents, string $mode, Device $deviceForFiles, Device $deviceForLocal, Authorization $authorization) { - $bucket = Authorization::skip(fn () => $dbForProject->getDocument('buckets', $bucketId)); + $bucket = $authorization->skip(fn () => $dbForProject->getDocument('buckets', $bucketId)); - $isAPIKey = Auth::isAppUser(Authorization::getRoles()); - $isPrivilegedUser = Auth::isPrivilegedUser(Authorization::getRoles()); + $isAPIKey = Auth::isAppUser($authorization->getRoles()); + $isPrivilegedUser = Auth::isPrivilegedUser($authorization->getRoles()); if ($bucket->isEmpty() || (!$bucket->getAttribute('enabled') && !$isAPIKey && !$isPrivilegedUser)) { throw new Exception(Exception::STORAGE_BUCKET_NOT_FOUND); } - $validator = new Authorization(Database::PERMISSION_CREATE); - if (!$validator->isValid($bucket->getCreate())) { - throw new Exception(Exception::USER_UNAUTHORIZED); + if (!$authorization->isValid(new Input(Database::PERMISSION_CREATE, $bucket->getCreate()))) { + throw new Exception(Exception::USER_UNAUTHORIZED, $authorization->getDescription()); } $allowedPermissions = [ @@ -469,7 +470,7 @@ App::post('/v1/storage/buckets/:bucketId/files') } // Users can only manage their own roles, API keys and Admin users can manage any - $roles = Authorization::getRoles(); + $roles = $authorization->getRoles(); if (!Auth::isAppUser($roles) && !Auth::isPrivilegedUser($roles)) { foreach (Database::PERMISSIONS as $type) { foreach ($permissions as $permission) { @@ -482,7 +483,7 @@ App::post('/v1/storage/buckets/:bucketId/files') $permission->getIdentifier(), $permission->getDimension() ))->toString(); - if (!Authorization::isRole($role)) { + if (!$authorization->hasRole($role)) { throw new Exception(Exception::USER_UNAUTHORIZED, 'Permissions must be one of: (' . \implode(', ', $roles) . ')'); } } @@ -702,11 +703,10 @@ App::post('/v1/storage/buckets/:bucketId/files') * However as with chunk upload even if we are updating, we are essentially creating a file * adding it's new chunk so we validate create permission instead of update */ - $validator = new Authorization(Database::PERMISSION_CREATE); - if (!$validator->isValid($bucket->getCreate())) { - throw new Exception(Exception::USER_UNAUTHORIZED); + if (!$authorization->isValid(new Input(Database::PERMISSION_CREATE, $bucket->getCreate()))) { + throw new Exception(Exception::USER_UNAUTHORIZED, $authorization->getDescription()); } - $file = Authorization::skip(fn () => $dbForProject->updateDocument('bucket_' . $bucket->getSequence(), $fileId, $file)); + $file = $authorization->skip(fn () => $dbForProject->updateDocument('bucket_' . $bucket->getSequence(), $fileId, $file)); } } else { if ($file->isEmpty()) { @@ -745,13 +745,12 @@ App::post('/v1/storage/buckets/:bucketId/files') * However as with chunk upload even if we are updating, we are essentially creating a file * adding it's new chunk so we validate create permission instead of update */ - $validator = new Authorization(Database::PERMISSION_CREATE); - if (!$validator->isValid($bucket->getCreate())) { - throw new Exception(Exception::USER_UNAUTHORIZED); + if (!$authorization->isValid(new Input(Database::PERMISSION_CREATE, $bucket->getCreate()))) { + throw new Exception(Exception::USER_UNAUTHORIZED, $authorization->getDescription()); } try { - $file = Authorization::skip(fn () => $dbForProject->updateDocument('bucket_' . $bucket->getSequence(), $fileId, $file)); + $file = $authorization->skip(fn () => $dbForProject->updateDocument('bucket_' . $bucket->getSequence(), $fileId, $file)); } catch (NotFoundException) { throw new Exception(Exception::STORAGE_BUCKET_NOT_FOUND); } @@ -795,22 +794,22 @@ App::get('/v1/storage/buckets/:bucketId/files') ->param('total', true, new Boolean(true), 'When set to false, the total count returned will be 0 and will not be calculated.', true) ->inject('response') ->inject('dbForProject') + ->inject('authorization') ->inject('mode') - ->action(function (string $bucketId, array $queries, string $search, bool $includeTotal, Response $response, Database $dbForProject, string $mode) { - $bucket = Authorization::skip(fn () => $dbForProject->getDocument('buckets', $bucketId)); + ->action(function (string $bucketId, array $queries, string $search, bool $includeTotal, Response $response, Database $dbForProject, Authorization $authorization, string $mode) { + $bucket = $authorization->skip(fn () => $dbForProject->getDocument('buckets', $bucketId)); - $isAPIKey = Auth::isAppUser(Authorization::getRoles()); - $isPrivilegedUser = Auth::isPrivilegedUser(Authorization::getRoles()); + $isAPIKey = Auth::isAppUser($authorization->getRoles()); + $isPrivilegedUser = Auth::isPrivilegedUser($authorization->getRoles()); if ($bucket->isEmpty() || (!$bucket->getAttribute('enabled') && !$isAPIKey && !$isPrivilegedUser)) { throw new Exception(Exception::STORAGE_BUCKET_NOT_FOUND); } $fileSecurity = $bucket->getAttribute('fileSecurity', false); - $validator = new Authorization(Database::PERMISSION_READ); - $valid = $validator->isValid($bucket->getRead()); + $valid = $authorization->isValid(new Input(Database::PERMISSION_READ, $bucket->getRead())); if (!$fileSecurity && !$valid) { - throw new Exception(Exception::USER_UNAUTHORIZED); + throw new Exception(Exception::USER_UNAUTHORIZED, $authorization->getDescription()); } $queries = Query::parseQueries($queries); @@ -839,7 +838,7 @@ App::get('/v1/storage/buckets/:bucketId/files') if ($fileSecurity && !$valid) { $cursorDocument = $dbForProject->getDocument('bucket_' . $bucket->getSequence(), $fileId); } else { - $cursorDocument = Authorization::skip(fn () => $dbForProject->getDocument('bucket_' . $bucket->getSequence(), $fileId)); + $cursorDocument = $authorization->skip(fn () => $dbForProject->getDocument('bucket_' . $bucket->getSequence(), $fileId)); } if ($cursorDocument->isEmpty()) { @@ -849,15 +848,13 @@ App::get('/v1/storage/buckets/:bucketId/files') $cursor->setValue($cursorDocument); } - $filterQueries = Query::groupByType($queries)['filters']; - try { if ($fileSecurity && !$valid) { $files = $dbForProject->find('bucket_' . $bucket->getSequence(), $queries); - $total = $includeTotal ? $dbForProject->count('bucket_' . $bucket->getSequence(), $filterQueries, APP_LIMIT_COUNT) : 0; + $total = $includeTotal ? $dbForProject->count('bucket_' . $bucket->getSequence(), $queries, APP_LIMIT_COUNT) : 0; } else { - $files = Authorization::skip(fn () => $dbForProject->find('bucket_' . $bucket->getSequence(), $queries)); - $total = $includeTotal ? Authorization::skip(fn () => $dbForProject->count('bucket_' . $bucket->getSequence(), $filterQueries, APP_LIMIT_COUNT)) : 0; + $files = $authorization->skip(fn () => $dbForProject->find('bucket_' . $bucket->getSequence(), $queries)); + $total = $includeTotal ? $authorization->skip(fn () => $dbForProject->count('bucket_' . $bucket->getSequence(), $queries, APP_LIMIT_COUNT)) : 0; } } catch (NotFoundException) { throw new Exception(Exception::STORAGE_BUCKET_NOT_FOUND); @@ -896,28 +893,28 @@ App::get('/v1/storage/buckets/:bucketId/files/:fileId') ->param('fileId', '', new UID(), 'File ID.') ->inject('response') ->inject('dbForProject') + ->inject('authorization') ->inject('mode') - ->action(function (string $bucketId, string $fileId, Response $response, Database $dbForProject, string $mode) { - $bucket = Authorization::skip(fn () => $dbForProject->getDocument('buckets', $bucketId)); + ->action(function (string $bucketId, string $fileId, Response $response, Database $dbForProject, Authorization $authorization, string $mode) { + $bucket = $authorization->skip(fn () => $dbForProject->getDocument('buckets', $bucketId)); - $isAPIKey = Auth::isAppUser(Authorization::getRoles()); - $isPrivilegedUser = Auth::isPrivilegedUser(Authorization::getRoles()); + $isAPIKey = Auth::isAppUser($authorization->getRoles()); + $isPrivilegedUser = Auth::isPrivilegedUser($authorization->getRoles()); if ($bucket->isEmpty() || (!$bucket->getAttribute('enabled') && !$isAPIKey && !$isPrivilegedUser)) { throw new Exception(Exception::STORAGE_BUCKET_NOT_FOUND); } $fileSecurity = $bucket->getAttribute('fileSecurity', false); - $validator = new Authorization(Database::PERMISSION_READ); - $valid = $validator->isValid($bucket->getRead()); + $valid = $authorization->isValid(new Input(Database::PERMISSION_READ, $bucket->getRead())); if (!$fileSecurity && !$valid) { - throw new Exception(Exception::USER_UNAUTHORIZED); + throw new Exception(Exception::USER_UNAUTHORIZED, $authorization->getDescription()); } if ($fileSecurity && !$valid) { $file = $dbForProject->getDocument('bucket_' . $bucket->getSequence(), $fileId); } else { - $file = Authorization::skip(fn () => $dbForProject->getDocument('bucket_' . $bucket->getSequence(), $fileId)); + $file = $authorization->skip(fn () => $dbForProject->getDocument('bucket_' . $bucket->getSequence(), $fileId)); } if ($file->isEmpty()) { @@ -973,17 +970,18 @@ App::get('/v1/storage/buckets/:bucketId/files/:fileId/preview') ->inject('deviceForFiles') ->inject('deviceForLocal') ->inject('project') - ->action(function (string $bucketId, string $fileId, int $width, int $height, string $gravity, int $quality, int $borderWidth, string $borderColor, int $borderRadius, float $opacity, int $rotation, string $background, string $output, ?string $token, Request $request, Response $response, Database $dbForProject, Document $resourceToken, Device $deviceForFiles, Device $deviceForLocal, Document $project) { + ->inject('authorization') + ->action(function (string $bucketId, string $fileId, int $width, int $height, string $gravity, int $quality, int $borderWidth, string $borderColor, int $borderRadius, float $opacity, int $rotation, string $background, string $output, ?string $token, Request $request, Response $response, Database $dbForProject, Document $resourceToken, Device $deviceForFiles, Device $deviceForLocal, Document $project, Authorization $authorization) { if (!\extension_loaded('imagick')) { throw new Exception(Exception::GENERAL_SERVER_ERROR, 'Imagick extension is missing'); } /* @type Document $bucket */ - $bucket = Authorization::skip(fn () => $dbForProject->getDocument('buckets', $bucketId)); + $bucket = $authorization->skip(fn () => $dbForProject->getDocument('buckets', $bucketId)); - $isAPIKey = Auth::isAppUser(Authorization::getRoles()); - $isPrivilegedUser = Auth::isPrivilegedUser(Authorization::getRoles()); + $isAPIKey = Auth::isAppUser($authorization->getRoles()); + $isPrivilegedUser = Auth::isPrivilegedUser($authorization->getRoles()); if ($bucket->isEmpty() || (!$bucket->getAttribute('enabled') && !$isAPIKey && !$isPrivilegedUser)) { throw new Exception(Exception::STORAGE_BUCKET_NOT_FOUND); @@ -995,21 +993,20 @@ App::get('/v1/storage/buckets/:bucketId/files/:fileId/preview') $isToken = !$resourceToken->isEmpty() && $resourceToken->getAttribute('bucketInternalId') === $bucket->getSequence(); $fileSecurity = $bucket->getAttribute('fileSecurity', false); - $validator = new Authorization(Database::PERMISSION_READ); - $valid = $validator->isValid($bucket->getRead()); + $valid = $authorization->isValid(new Input(Database::PERMISSION_READ, $bucket->getRead())); if (!$fileSecurity && !$valid && !$isToken) { - throw new Exception(Exception::USER_UNAUTHORIZED); + throw new Exception(Exception::USER_UNAUTHORIZED, $authorization->getDescription()); } if ($fileSecurity && !$valid && !$isToken) { $file = $dbForProject->getDocument('bucket_' . $bucket->getSequence(), $fileId); } else { /* @type Document $file */ - $file = Authorization::skip(fn () => $dbForProject->getDocument('bucket_' . $bucket->getSequence(), $fileId)); + $file = $authorization->skip(fn () => $dbForProject->getDocument('bucket_' . $bucket->getSequence(), $fileId)); } if (!$resourceToken->isEmpty() && $resourceToken->getAttribute('fileInternalId') !== $file->getSequence()) { - throw new Exception(Exception::USER_UNAUTHORIZED); + throw new Exception(Exception::USER_UNAUTHORIZED, $authorization->getDescription()); } if ($file->isEmpty()) { @@ -1127,11 +1124,11 @@ App::get('/v1/storage/buckets/:bucketId/files/:fileId/preview') $contentType = (\array_key_exists($output, $outputs)) ? $outputs[$output] : $outputs['jpg']; //Do not update transformedAt if it's a console user - if (!Auth::isPrivilegedUser(Authorization::getRoles())) { + if (!Auth::isPrivilegedUser($authorization->getRoles())) { $transformedAt = $file->getAttribute('transformedAt', ''); if (DateTime::formatTz(DateTime::addSeconds(new \DateTime(), -APP_PROJECT_ACCESS)) > $transformedAt) { $file->setAttribute('transformedAt', DateTime::now()); - Authorization::skip(fn () => $dbForProject->updateDocument('bucket_' . $file->getAttribute('bucketInternalId'), $file->getId(), $file)); + $authorization->skip(fn () => $dbForProject->updateDocument('bucket_' . $file->getAttribute('bucketInternalId'), $file->getId(), $file)); } } @@ -1171,15 +1168,16 @@ App::get('/v1/storage/buckets/:bucketId/files/:fileId/download') ->inject('request') ->inject('response') ->inject('dbForProject') + ->inject('authorization') ->inject('mode') ->inject('resourceToken') ->inject('deviceForFiles') - ->action(function (string $bucketId, string $fileId, ?string $token, Request $request, Response $response, Database $dbForProject, string $mode, Document $resourceToken, Device $deviceForFiles) { + ->action(function (string $bucketId, string $fileId, ?string $token, Request $request, Response $response, Database $dbForProject, Authorization $authorization, string $mode, Document $resourceToken, Device $deviceForFiles) { /* @type Document $bucket */ - $bucket = Authorization::skip(fn () => $dbForProject->getDocument('buckets', $bucketId)); + $bucket = $authorization->skip(fn () => $dbForProject->getDocument('buckets', $bucketId)); - $isAPIKey = Auth::isAppUser(Authorization::getRoles()); - $isPrivilegedUser = Auth::isPrivilegedUser(Authorization::getRoles()); + $isAPIKey = Auth::isAppUser($authorization->getRoles()); + $isPrivilegedUser = Auth::isPrivilegedUser($authorization->getRoles()); if ($bucket->isEmpty() || (!$bucket->getAttribute('enabled') && !$isAPIKey && !$isPrivilegedUser)) { throw new Exception(Exception::STORAGE_BUCKET_NOT_FOUND); @@ -1187,21 +1185,20 @@ App::get('/v1/storage/buckets/:bucketId/files/:fileId/download') $isToken = !$resourceToken->isEmpty() && $resourceToken->getAttribute('bucketInternalId') === $bucket->getSequence(); $fileSecurity = $bucket->getAttribute('fileSecurity', false); - $validator = new Authorization(Database::PERMISSION_READ); - $valid = $validator->isValid($bucket->getRead()); + $valid = $authorization->isValid(new Input(Database::PERMISSION_READ, $bucket->getRead())); if (!$fileSecurity && !$valid && !$isToken) { - throw new Exception(Exception::USER_UNAUTHORIZED); + throw new Exception(Exception::USER_UNAUTHORIZED, $authorization->getDescription()); } if ($fileSecurity && !$valid && !$isToken) { $file = $dbForProject->getDocument('bucket_' . $bucket->getSequence(), $fileId); } else { /* @type Document $file */ - $file = Authorization::skip(fn () => $dbForProject->getDocument('bucket_' . $bucket->getSequence(), $fileId)); + $file = $authorization->skip(fn () => $dbForProject->getDocument('bucket_' . $bucket->getSequence(), $fileId)); } if (!$resourceToken->isEmpty() && $resourceToken->getAttribute('fileInternalId') !== $file->getSequence()) { - throw new Exception(Exception::USER_UNAUTHORIZED); + throw new Exception(Exception::USER_UNAUTHORIZED, $authorization->getDescription()); } if ($file->isEmpty()) { @@ -1335,12 +1332,13 @@ App::get('/v1/storage/buckets/:bucketId/files/:fileId/view') ->inject('mode') ->inject('resourceToken') ->inject('deviceForFiles') - ->action(function (string $bucketId, string $fileId, ?string $token, Response $response, Request $request, Database $dbForProject, string $mode, Document $resourceToken, Device $deviceForFiles) { + ->inject('authorization') + ->action(function (string $bucketId, string $fileId, ?string $token, Response $response, Request $request, Database $dbForProject, string $mode, Document $resourceToken, Device $deviceForFiles, Authorization $authorization) { /* @type Document $bucket */ - $bucket = Authorization::skip(fn () => $dbForProject->getDocument('buckets', $bucketId)); + $bucket = $authorization->skip(fn () => $dbForProject->getDocument('buckets', $bucketId)); - $isAPIKey = Auth::isAppUser(Authorization::getRoles()); - $isPrivilegedUser = Auth::isPrivilegedUser(Authorization::getRoles()); + $isAPIKey = Auth::isAppUser($authorization->getRoles()); + $isPrivilegedUser = Auth::isPrivilegedUser($authorization->getRoles()); if ($bucket->isEmpty() || (!$bucket->getAttribute('enabled') && !$isAPIKey && !$isPrivilegedUser)) { throw new Exception(Exception::STORAGE_BUCKET_NOT_FOUND); @@ -1348,21 +1346,20 @@ App::get('/v1/storage/buckets/:bucketId/files/:fileId/view') $isToken = !$resourceToken->isEmpty() && $resourceToken->getAttribute('bucketInternalId') === $bucket->getSequence(); $fileSecurity = $bucket->getAttribute('fileSecurity', false); - $validator = new Authorization(Database::PERMISSION_READ); - $valid = $validator->isValid($bucket->getRead()); + $valid = $authorization->isValid(new Input(Database::PERMISSION_READ, $bucket->getRead())); if (!$fileSecurity && !$valid && !$isToken) { - throw new Exception(Exception::USER_UNAUTHORIZED); + throw new Exception(Exception::USER_UNAUTHORIZED, $authorization->getDescription()); } if ($fileSecurity && !$valid && !$isToken) { $file = $dbForProject->getDocument('bucket_' . $bucket->getSequence(), $fileId); } else { /* @type Document $file */ - $file = Authorization::skip(fn () => $dbForProject->getDocument('bucket_' . $bucket->getSequence(), $fileId)); + $file = $authorization->skip(fn () => $dbForProject->getDocument('bucket_' . $bucket->getSequence(), $fileId)); } if (!$resourceToken->isEmpty() && $resourceToken->getAttribute('fileInternalId') !== $file->getSequence()) { - throw new Exception(Exception::USER_UNAUTHORIZED); + throw new Exception(Exception::USER_UNAUTHORIZED, $authorization->getDescription()); } if ($file->isEmpty()) { @@ -1491,13 +1488,14 @@ App::get('/v1/storage/buckets/:bucketId/files/:fileId/push') ->inject('project') ->inject('mode') ->inject('deviceForFiles') - ->action(function (string $bucketId, string $fileId, string $jwt, Response $response, Request $request, Database $dbForProject, Database $dbForPlatform, Document $project, string $mode, Device $deviceForFiles) { + ->inject('authorization') + ->action(function (string $bucketId, string $fileId, string $jwt, Response $response, Request $request, Database $dbForProject, Database $dbForPlatform, Document $project, string $mode, Device $deviceForFiles, Authorization $authorization) { $decoder = new JWT(System::getEnv('_APP_OPENSSL_KEY_V1'), 'HS256', 3600, 0); try { $decoded = $decoder->decode($jwt); } catch (JWTException) { - throw new Exception(Exception::USER_UNAUTHORIZED); + throw new Exception(Exception::USER_UNAUTHORIZED, $authorization->getDescription()); } if ( @@ -1505,22 +1503,22 @@ App::get('/v1/storage/buckets/:bucketId/files/:fileId/push') $decoded['bucketId'] !== $bucketId || $decoded['fileId'] !== $fileId ) { - throw new Exception(Exception::USER_UNAUTHORIZED); + throw new Exception(Exception::USER_UNAUTHORIZED, $authorization->getDescription()); } $isInternal = $decoded['internal'] ?? false; $disposition = $decoded['disposition'] ?? 'inline'; $dbForProject = $isInternal ? $dbForPlatform : $dbForProject; - $isAPIKey = Auth::isAppUser(Authorization::getRoles()); - $isPrivilegedUser = Auth::isPrivilegedUser(Authorization::getRoles()); + $isAPIKey = Auth::isAppUser($authorization->getRoles()); + $isPrivilegedUser = Auth::isPrivilegedUser($authorization->getRoles()); - $bucket = Authorization::skip(fn () => $dbForProject->getDocument('buckets', $bucketId)); + $bucket = $authorization->skip(fn () => $dbForProject->getDocument('buckets', $bucketId)); if ($bucket->isEmpty() || (!$bucket->getAttribute('enabled') && !$isAPIKey && !$isPrivilegedUser)) { throw new Exception(Exception::STORAGE_BUCKET_NOT_FOUND); } - $file = Authorization::skip(fn () => $dbForProject->getDocument('bucket_' . $bucket->getSequence(), $fileId)); + $file = $authorization->skip(fn () => $dbForProject->getDocument('bucket_' . $bucket->getSequence(), $fileId)); if ($file->isEmpty()) { throw new Exception(Exception::STORAGE_FILE_NOT_FOUND); } @@ -1528,7 +1526,6 @@ App::get('/v1/storage/buckets/:bucketId/files/:fileId/push') $mimes = Config::getParam('storage-mimes'); $path = $file->getAttribute('path', ''); - if (!$deviceForFiles->exists($path)) { throw new Exception(Exception::STORAGE_FILE_NOT_FOUND, 'File not found in ' . $path); } @@ -1665,26 +1662,26 @@ App::put('/v1/storage/buckets/:bucketId/files/:fileId') ->inject('user') ->inject('mode') ->inject('queueForEvents') - ->action(function (string $bucketId, string $fileId, ?string $name, ?array $permissions, Response $response, Database $dbForProject, Document $user, string $mode, Event $queueForEvents) { + ->inject('authorization') + ->action(function (string $bucketId, string $fileId, ?string $name, ?array $permissions, Response $response, Database $dbForProject, Document $user, string $mode, Event $queueForEvents, Authorization $authorization) { - $bucket = Authorization::skip(fn () => $dbForProject->getDocument('buckets', $bucketId)); + $bucket = $authorization->skip(fn () => $dbForProject->getDocument('buckets', $bucketId)); - $isAPIKey = Auth::isAppUser(Authorization::getRoles()); - $isPrivilegedUser = Auth::isPrivilegedUser(Authorization::getRoles()); + $isAPIKey = Auth::isAppUser($authorization->getRoles()); + $isPrivilegedUser = Auth::isPrivilegedUser($authorization->getRoles()); if ($bucket->isEmpty() || (!$bucket->getAttribute('enabled') && !$isAPIKey && !$isPrivilegedUser)) { throw new Exception(Exception::STORAGE_BUCKET_NOT_FOUND); } $fileSecurity = $bucket->getAttribute('fileSecurity', false); - $validator = new Authorization(Database::PERMISSION_UPDATE); - $valid = $validator->isValid($bucket->getUpdate()); + $valid = $authorization->isValid(new Input(Database::PERMISSION_UPDATE, $bucket->getUpdate())); if (!$fileSecurity && !$valid) { - throw new Exception(Exception::USER_UNAUTHORIZED); + throw new Exception(Exception::USER_UNAUTHORIZED, $authorization->getDescription()); } // Read permission should not be required for update - $file = Authorization::skip(fn () => $dbForProject->getDocument('bucket_' . $bucket->getSequence(), $fileId)); + $file = $authorization->skip(fn () => $dbForProject->getDocument('bucket_' . $bucket->getSequence(), $fileId)); if ($file->isEmpty()) { throw new Exception(Exception::STORAGE_FILE_NOT_FOUND); @@ -1698,7 +1695,7 @@ App::put('/v1/storage/buckets/:bucketId/files/:fileId') ]); // Users can only manage their own roles, API keys and Admin users can manage any - $roles = Authorization::getRoles(); + $roles = $authorization->getRoles(); if (!Auth::isAppUser($roles) && !Auth::isPrivilegedUser($roles) && !\is_null($permissions)) { foreach (Database::PERMISSIONS as $type) { foreach ($permissions as $permission) { @@ -1711,7 +1708,7 @@ App::put('/v1/storage/buckets/:bucketId/files/:fileId') $permission->getIdentifier(), $permission->getDimension() ))->toString(); - if (!Authorization::isRole($role)) { + if (!$authorization->hasRole($role)) { throw new Exception(Exception::USER_UNAUTHORIZED, 'Permissions must be one of: (' . \implode(', ', $roles) . ')'); } } @@ -1732,7 +1729,7 @@ App::put('/v1/storage/buckets/:bucketId/files/:fileId') if ($fileSecurity && !$valid) { $file = $dbForProject->updateDocument('bucket_' . $bucket->getSequence(), $fileId, $file); } else { - $file = Authorization::skip(fn () => $dbForProject->updateDocument('bucket_' . $bucket->getSequence(), $fileId, $file)); + $file = $authorization->skip(fn () => $dbForProject->updateDocument('bucket_' . $bucket->getSequence(), $fileId, $file)); } } catch (NotFoundException) { throw new Exception(Exception::STORAGE_BUCKET_NOT_FOUND); @@ -1780,33 +1777,34 @@ App::delete('/v1/storage/buckets/:bucketId/files/:fileId') ->inject('mode') ->inject('deviceForFiles') ->inject('queueForDeletes') - ->action(function (string $bucketId, string $fileId, Response $response, Database $dbForProject, Event $queueForEvents, string $mode, Device $deviceForFiles, Delete $queueForDeletes) { - $bucket = Authorization::skip(fn () => $dbForProject->getDocument('buckets', $bucketId)); + ->inject('authorization') + ->action(function (string $bucketId, string $fileId, Response $response, Database $dbForProject, Event $queueForEvents, string $mode, Device $deviceForFiles, Delete $queueForDeletes, Authorization $authorization) { + $bucket = $authorization->skip(fn () => $dbForProject->getDocument('buckets', $bucketId)); - $isAPIKey = Auth::isAppUser(Authorization::getRoles()); - $isPrivilegedUser = Auth::isPrivilegedUser(Authorization::getRoles()); + $isAPIKey = Auth::isAppUser($authorization->getRoles()); + $isPrivilegedUser = Auth::isPrivilegedUser($authorization->getRoles()); if ($bucket->isEmpty() || (!$bucket->getAttribute('enabled') && !$isAPIKey && !$isPrivilegedUser)) { throw new Exception(Exception::STORAGE_BUCKET_NOT_FOUND); } $fileSecurity = $bucket->getAttribute('fileSecurity', false); - $validator = new Authorization(Database::PERMISSION_DELETE); - $valid = $validator->isValid($bucket->getDelete()); + $valid = $authorization->isValid(new Input(Database::PERMISSION_DELETE, $bucket->getDelete())); if (!$fileSecurity && !$valid) { - throw new Exception(Exception::USER_UNAUTHORIZED); + throw new Exception(Exception::USER_UNAUTHORIZED, $authorization->getDescription()); } // Read permission should not be required for delete - $file = Authorization::skip(fn () => $dbForProject->getDocument('bucket_' . $bucket->getSequence(), $fileId)); + $file = $authorization->skip(fn () => $dbForProject->getDocument('bucket_' . $bucket->getSequence(), $fileId)); if ($file->isEmpty()) { throw new Exception(Exception::STORAGE_FILE_NOT_FOUND); } // Make sure we don't delete the file before the document permission check occurs - if ($fileSecurity && !$valid && !$validator->isValid($file->getDelete())) { - throw new Exception(Exception::USER_UNAUTHORIZED); + $validFile = $authorization->isValid(new Input(Database::PERMISSION_DELETE, $file->getDelete())); + if ($fileSecurity && !$valid && !$validFile) { + throw new Exception(Exception::USER_UNAUTHORIZED, $authorization->getDescription()); } $deviceDeleted = false; @@ -1830,7 +1828,7 @@ App::delete('/v1/storage/buckets/:bucketId/files/:fileId') if ($fileSecurity && !$valid) { $deleted = $dbForProject->deleteDocument('bucket_' . $bucket->getSequence(), $fileId); } else { - $deleted = Authorization::skip(fn () => $dbForProject->deleteDocument('bucket_' . $bucket->getSequence(), $fileId)); + $deleted = $authorization->skip(fn () => $dbForProject->deleteDocument('bucket_' . $bucket->getSequence(), $fileId)); } } catch (NotFoundException) { throw new Exception(Exception::STORAGE_BUCKET_NOT_FOUND); @@ -1875,7 +1873,8 @@ App::get('/v1/storage/usage') ->param('range', '30d', new WhiteList(['24h', '30d', '90d'], true), 'Date range.', true) ->inject('response') ->inject('dbForProject') - ->action(function (string $range, Response $response, Database $dbForProject) { + ->inject('authorization') + ->action(function (string $range, Response $response, Database $dbForProject, Authorization $authorization) { $periods = Config::getParam('usage', []); $stats = $usage = []; @@ -1887,7 +1886,7 @@ App::get('/v1/storage/usage') ]; $total = []; - Authorization::skip(function () use ($dbForProject, $days, $metrics, &$stats, &$total) { + $authorization->skip(function () use ($dbForProject, $days, $metrics, &$stats, &$total) { foreach ($metrics as $metric) { $result = $dbForProject->findOne('stats', [ Query::equal('metric', [$metric]), @@ -1965,7 +1964,8 @@ App::get('/v1/storage/:bucketId/usage') ->inject('project') ->inject('dbForProject') ->inject('getLogsDB') - ->action(function (string $bucketId, string $range, Response $response, Document $project, Database $dbForProject, callable $getLogsDB) { + ->inject('authorization') + ->action(function (string $bucketId, string $range, Response $response, Document $project, Database $dbForProject, callable $getLogsDB, Authorization $authorization) { $dbForLogs = call_user_func($getLogsDB, $project); $bucket = $dbForProject->getDocument('buckets', $bucketId); @@ -1983,7 +1983,7 @@ App::get('/v1/storage/:bucketId/usage') str_replace('{bucketInternalId}', $bucket->getSequence(), METRIC_BUCKET_ID_FILES_IMAGES_TRANSFORMED), ]; - Authorization::skip(function () use ($dbForProject, $dbForLogs, $bucket, $days, $metrics, &$stats) { + $authorization->skip(function () use ($dbForProject, $dbForLogs, $bucket, $days, $metrics, &$stats) { foreach ($metrics as $metric) { $db = ($metric === str_replace('{bucketInternalId}', $bucket->getSequence(), METRIC_BUCKET_ID_FILES_IMAGES_TRANSFORMED)) ? $dbForLogs diff --git a/app/controllers/api/teams.php b/app/controllers/api/teams.php index 554ef6f4fe..4b8c543e5d 100644 --- a/app/controllers/api/teams.php +++ b/app/controllers/api/teams.php @@ -84,16 +84,17 @@ App::post('/v1/teams') ->inject('response') ->inject('user') ->inject('dbForProject') + ->inject('authorization') ->inject('queueForEvents') - ->action(function (string $teamId, string $name, array $roles, Response $response, Document $user, Database $dbForProject, Event $queueForEvents) { + ->action(function (string $teamId, string $name, array $roles, Response $response, Document $user, Database $dbForProject, Authorization $authorization, Event $queueForEvents) { - $isPrivilegedUser = Auth::isPrivilegedUser(Authorization::getRoles()); - $isAppUser = Auth::isAppUser(Authorization::getRoles()); + $isPrivilegedUser = Auth::isPrivilegedUser($authorization->getRoles()); + $isAppUser = Auth::isAppUser($authorization->getRoles()); $teamId = $teamId == 'unique()' ? ID::unique() : $teamId; try { - $team = Authorization::skip(fn () => $dbForProject->createDocument('teams', new Document([ + $team = $authorization->skip(fn () => $dbForProject->createDocument('teams', new Document([ '$id' => $teamId, '$permissions' => [ Permission::read(Role::team($teamId)), @@ -489,6 +490,7 @@ App::post('/v1/teams/:teamId/memberships') ->inject('project') ->inject('user') ->inject('dbForProject') + ->inject('authorization') ->inject('locale') ->inject('queueForMails') ->inject('queueForMessaging') @@ -496,9 +498,9 @@ App::post('/v1/teams/:teamId/memberships') ->inject('timelimit') ->inject('queueForStatsUsage') ->inject('plan') - ->action(function (string $teamId, string $email, string $userId, string $phone, array $roles, string $url, string $name, Response $response, Document $project, Document $user, Database $dbForProject, Locale $locale, Mail $queueForMails, Messaging $queueForMessaging, Event $queueForEvents, callable $timelimit, StatsUsage $queueForStatsUsage, array $plan) { - $isAppUser = Auth::isAppUser(Authorization::getRoles()); - $isPrivilegedUser = Auth::isPrivilegedUser(Authorization::getRoles()); + ->action(function (string $teamId, string $email, string $userId, string $phone, array $roles, string $url, string $name, Response $response, Document $project, Document $user, Database $dbForProject, Authorization $authorization, Locale $locale, Mail $queueForMails, Messaging $queueForMessaging, Event $queueForEvents, callable $timelimit, StatsUsage $queueForStatsUsage, array $plan) { + $isAppUser = Auth::isAppUser($authorization->getRoles()); + $isPrivilegedUser = Auth::isPrivilegedUser($authorization->getRoles()); $url = htmlentities($url); if (empty($url)) { @@ -573,53 +575,50 @@ App::post('/v1/teams/:teamId/memberships') $emailCanonical = null; } - $userId = ID::unique(); - - $userDocument = new Document([ - '$id' => $userId, - '$permissions' => [ - Permission::read(Role::any()), - Permission::read(Role::user($userId)), - Permission::update(Role::user($userId)), - Permission::delete(Role::user($userId)), - ], - 'email' => empty($email) ? null : $email, - 'phone' => empty($phone) ? null : $phone, - 'emailVerification' => false, - 'status' => true, - // TODO: Set password empty? - 'password' => Auth::passwordHash(Auth::passwordGenerator(), Auth::DEFAULT_ALGO, Auth::DEFAULT_ALGO_OPTIONS), - 'hash' => Auth::DEFAULT_ALGO, - 'hashOptions' => Auth::DEFAULT_ALGO_OPTIONS, - /** - * Set the password update time to 0 for users created using - * team invite and OAuth to allow password updates without an - * old password - */ - 'passwordUpdate' => null, - 'registration' => DateTime::now(), - 'reset' => false, - 'name' => $name, - 'prefs' => new \stdClass(), - 'sessions' => null, - 'tokens' => null, - 'memberships' => null, - 'search' => implode(' ', [$userId, $email, $name]), - 'emailCanonical' => $emailCanonical?->getCanonical(), - 'emailIsCanonical' => $emailCanonical?->isCanonicalSupported(), - 'emailIsCorporate' => $emailCanonical?->isCorporate(), - 'emailIsDisposable' => $emailCanonical?->isDisposable(), - 'emailIsFree' => $emailCanonical?->isFree(), - ]); - try { - $invitee = Authorization::skip(fn () => $dbForProject->createDocument('users', $userDocument)); + $userId = ID::unique(); + $invitee = $authorization->skip(fn () => $dbForProject->createDocument('users', new Document([ + '$id' => $userId, + '$permissions' => [ + Permission::read(Role::any()), + Permission::read(Role::user($userId)), + Permission::update(Role::user($userId)), + Permission::delete(Role::user($userId)), + ], + 'email' => empty($email) ? null : $email, + 'phone' => empty($phone) ? null : $phone, + 'emailVerification' => false, + 'status' => true, + // TODO: Set password empty? + 'password' => Auth::passwordHash(Auth::passwordGenerator(), Auth::DEFAULT_ALGO, Auth::DEFAULT_ALGO_OPTIONS), + 'hash' => Auth::DEFAULT_ALGO, + 'hashOptions' => Auth::DEFAULT_ALGO_OPTIONS, + /** + * Set the password update time to 0 for users created using + * team invite and OAuth to allow password updates without an + * old password + */ + 'passwordUpdate' => null, + 'registration' => DateTime::now(), + 'reset' => false, + 'name' => $name, + 'prefs' => new \stdClass(), + 'sessions' => null, + 'tokens' => null, + 'memberships' => null, + 'search' => implode(' ', [$userId, $email, $name]), + 'emailCanonical' => $emailCanonical?->getCanonical(), + 'emailIsCanonical' => $emailCanonical?->isCanonicalSupported(), + 'emailIsCorporate' => $emailCanonical?->isCorporate(), + 'emailIsDisposable' => $emailCanonical?->isDisposable(), + 'emailIsFree' => $emailCanonical?->isFree(), + ]))); } catch (Duplicate $th) { throw new Exception(Exception::USER_ALREADY_EXISTS); } } - $isOwner = Authorization::isRole('team:' . $team->getId() . '/owner'); + $isOwner = $authorization->hasRole('team:' . $team->getId() . '/owner'); if (!$isOwner && !$isPrivilegedUser && !$isAppUser) { // Not owner, not admin, not app (server) throw new Exception(Exception::USER_UNAUTHORIZED, 'User is not allowed to send invitations for this team'); @@ -655,11 +654,11 @@ App::post('/v1/teams/:teamId/memberships') ]); $membership = ($isPrivilegedUser || $isAppUser) ? - Authorization::skip(fn () => $dbForProject->createDocument('memberships', $membership)) : + $authorization->skip(fn () => $dbForProject->createDocument('memberships', $membership)) : $dbForProject->createDocument('memberships', $membership); if ($isPrivilegedUser || $isAppUser) { - Authorization::skip(fn () => $dbForProject->increaseDocumentAttribute('teams', $team->getId(), 'total', 1)); + $authorization->skip(fn () => $dbForProject->increaseDocumentAttribute('teams', $team->getId(), 'total', 1)); } } elseif ($membership->getAttribute('confirm') === false) { @@ -672,7 +671,7 @@ App::post('/v1/teams/:teamId/memberships') } $membership = ($isPrivilegedUser || $isAppUser) ? - Authorization::skip(fn () => $dbForProject->updateDocument('memberships', $membership->getId(), $membership)) : + $authorization->skip(fn () => $dbForProject->updateDocument('memberships', $membership->getId(), $membership)) : $dbForProject->updateDocument('memberships', $membership->getId(), $membership); } else { throw new Exception(Exception::MEMBERSHIP_ALREADY_CONFIRMED); @@ -859,7 +858,8 @@ App::get('/v1/teams/:teamId/memberships') ->inject('response') ->inject('project') ->inject('dbForProject') - ->action(function (string $teamId, array $queries, string $search, bool $includeTotal, Response $response, Document $project, Database $dbForProject) { + ->inject('authorization') + ->action(function (string $teamId, array $queries, string $search, bool $includeTotal, Response $response, Document $project, Database $dbForProject, Authorization $authorization) { $team = $dbForProject->getDocument('teams', $teamId); if ($team->isEmpty()) { @@ -929,7 +929,7 @@ App::get('/v1/teams/:teamId/memberships') 'mfa' => $project->getAttribute('auths', [])['membershipsMfa'] ?? true, ]; - $roles = Authorization::getRoles(); + $roles = $authorization->getRoles(); $isPrivilegedUser = Auth::isPrivilegedUser($roles); $isAppUser = Auth::isAppUser($roles); @@ -1000,7 +1000,8 @@ App::get('/v1/teams/:teamId/memberships/:membershipId') ->inject('response') ->inject('project') ->inject('dbForProject') - ->action(function (string $teamId, string $membershipId, Response $response, Document $project, Database $dbForProject) { + ->inject('authorization') + ->action(function (string $teamId, string $membershipId, Response $response, Document $project, Database $dbForProject, Authorization $authorization) { $team = $dbForProject->getDocument('teams', $teamId); @@ -1020,7 +1021,7 @@ App::get('/v1/teams/:teamId/memberships/:membershipId') 'mfa' => $project->getAttribute('auths', [])['membershipsMfa'] ?? true, ]; - $roles = Authorization::getRoles(); + $roles = $authorization->getRoles(); $isPrivilegedUser = Auth::isPrivilegedUser($roles); $isAppUser = Auth::isAppUser($roles); @@ -1099,8 +1100,9 @@ App::patch('/v1/teams/:teamId/memberships/:membershipId') ->inject('user') ->inject('project') ->inject('dbForProject') + ->inject('authorization') ->inject('queueForEvents') - ->action(function (string $teamId, string $membershipId, array $roles, Request $request, Response $response, Document $user, Document $project, Database $dbForProject, Event $queueForEvents) { + ->action(function (string $teamId, string $membershipId, array $roles, Request $request, Response $response, Document $user, Document $project, Database $dbForProject, Authorization $authorization, Event $queueForEvents) { $team = $dbForProject->getDocument('teams', $teamId); if ($team->isEmpty()) { @@ -1117,9 +1119,9 @@ App::patch('/v1/teams/:teamId/memberships/:membershipId') throw new Exception(Exception::USER_NOT_FOUND); } - $isPrivilegedUser = Auth::isPrivilegedUser(Authorization::getRoles()); - $isAppUser = Auth::isAppUser(Authorization::getRoles()); - $isOwner = Authorization::isRole('team:' . $team->getId() . '/owner'); + $isPrivilegedUser = Auth::isPrivilegedUser($authorization->getRoles()); + $isAppUser = Auth::isAppUser($authorization->getRoles()); + $isOwner = $authorization->hasRole('team:' . $team->getId() . '/owner'); if ($project->getId() === 'console') { // Quick check: fetch up to 2 owners to determine if only one exists @@ -1200,10 +1202,11 @@ App::patch('/v1/teams/:teamId/memberships/:membershipId/status') ->inject('response') ->inject('user') ->inject('dbForProject') + ->inject('authorization') ->inject('project') ->inject('geodb') ->inject('queueForEvents') - ->action(function (string $teamId, string $membershipId, string $userId, string $secret, Request $request, Response $response, Document $user, Database $dbForProject, Document $project, Reader $geodb, Event $queueForEvents) { + ->action(function (string $teamId, string $membershipId, string $userId, string $secret, Request $request, Response $response, Document $user, Database $dbForProject, Authorization $authorization, Document $project, Reader $geodb, Event $queueForEvents) { $protocol = $request->getProtocol(); $membership = $dbForProject->getDocument('memberships', $membershipId); @@ -1212,7 +1215,7 @@ App::patch('/v1/teams/:teamId/memberships/:membershipId/status') throw new Exception(Exception::MEMBERSHIP_NOT_FOUND); } - $team = Authorization::skip(fn () => $dbForProject->getDocument('teams', $teamId)); + $team = $authorization->skip(fn () => $dbForProject->getDocument('teams', $teamId)); if ($team->isEmpty()) { throw new Exception(Exception::TEAM_NOT_FOUND); @@ -1248,11 +1251,11 @@ App::patch('/v1/teams/:teamId/memberships/:membershipId/status') ->setAttribute('confirm', true) ; - Authorization::skip(fn () => $dbForProject->updateDocument('users', $user->getId(), $user->setAttribute('emailVerification', true))); + $authorization->skip(fn () => $dbForProject->updateDocument('users', $user->getId(), $user->setAttribute('emailVerification', true))); // Create session for the user if not logged in if (!$hasSession) { - Authorization::setRole(Role::user($user->getId())->toString()); + $authorization->addRole(Role::user($user->getId())->toString()); $detector = new Detector($request->getUserAgent('UNKNOWN')); $record = $geodb->get($request->getIP()); @@ -1280,7 +1283,7 @@ App::patch('/v1/teams/:teamId/memberships/:membershipId/status') $session = $dbForProject->createDocument('sessions', $session); - Authorization::setRole(Role::user($userId)->toString()); + $authorization->addRole(Role::user($userId)->toString()); if (!Config::getParam('domainVerification')) { $response->addHeader('X-Fallback-Cookies', \json_encode([Auth::$cookieName => Auth::encodeSession($user->getId(), $secret)])); @@ -1313,7 +1316,7 @@ App::patch('/v1/teams/:teamId/memberships/:membershipId/status') $dbForProject->purgeCachedDocument('users', $user->getId()); - Authorization::skip(fn () => $dbForProject->increaseDocumentAttribute('teams', $team->getId(), 'total', 1)); + $authorization->skip(fn () => $dbForProject->increaseDocumentAttribute('teams', $team->getId(), 'total', 1)); $queueForEvents ->setParam('userId', $user->getId()) @@ -1357,8 +1360,9 @@ App::delete('/v1/teams/:teamId/memberships/:membershipId') ->inject('project') ->inject('response') ->inject('dbForProject') + ->inject('authorization') ->inject('queueForEvents') - ->action(function (string $teamId, string $membershipId, Document $user, Document $project, Response $response, Database $dbForProject, Event $queueForEvents) { + ->action(function (string $teamId, string $membershipId, Document $user, Document $project, Response $response, Database $dbForProject, Authorization $authorization, Event $queueForEvents) { $membership = $dbForProject->getDocument('memberships', $membershipId); @@ -1416,7 +1420,7 @@ App::delete('/v1/teams/:teamId/memberships/:membershipId') $dbForProject->purgeCachedDocument('users', $profile->getId()); if ($membership->getAttribute('confirm')) { // Count only confirmed members - Authorization::skip(fn () => $dbForProject->decreaseDocumentAttribute('teams', $team->getId(), 'total', 1, 0)); + $authorization->skip(fn () => $dbForProject->decreaseDocumentAttribute('teams', $team->getId(), 'total', 1, 0)); } $queueForEvents diff --git a/app/controllers/api/users.php b/app/controllers/api/users.php index a8570c3079..3fd570b03f 100644 --- a/app/controllers/api/users.php +++ b/app/controllers/api/users.php @@ -2647,8 +2647,8 @@ App::get('/v1/users/usage') ->param('range', '30d', new WhiteList(['24h', '30d', '90d'], true), 'Date range.', true) ->inject('response') ->inject('dbForProject') - ->inject('register') - ->action(function (string $range, Response $response, Database $dbForProject) { + ->inject('authorization') + ->action(function (string $range, Response $response, Database $dbForProject, Authorization $authorization) { $periods = Config::getParam('usage', []); $stats = $usage = []; @@ -2658,7 +2658,7 @@ App::get('/v1/users/usage') METRIC_SESSIONS, ]; - Authorization::skip(function () use ($dbForProject, $days, $metrics, &$stats) { + $authorization->skip(function () use ($dbForProject, $days, $metrics, &$stats) { foreach ($metrics as $count => $metric) { $result = $dbForProject->findOne('stats', [ Query::equal('metric', [$metric]), diff --git a/app/controllers/api/vcs.php b/app/controllers/api/vcs.php index ab8e9195b3..829d8e4176 100644 --- a/app/controllers/api/vcs.php +++ b/app/controllers/api/vcs.php @@ -75,7 +75,7 @@ use Utopia\VCS\Exception\RepositoryNotFound; use function Swoole\Coroutine\batch; -$createGitDeployments = function (GitHub $github, string $providerInstallationId, array $repositories, string $providerBranch, string $providerBranchUrl, string $providerRepositoryName, string $providerRepositoryUrl, string $providerRepositoryOwner, string $providerCommitHash, string $providerCommitAuthor, string $providerCommitAuthorUrl, string $providerCommitMessage, string $providerCommitUrl, string $providerPullRequestId, bool $external, Database $dbForPlatform, Build $queueForBuilds, callable $getProjectDB, Request $request) { +$createGitDeployments = function (GitHub $github, string $providerInstallationId, array $repositories, string $providerBranch, string $providerBranchUrl, string $providerRepositoryName, string $providerRepositoryUrl, string $providerRepositoryOwner, string $providerCommitHash, string $providerCommitAuthor, string $providerCommitAuthorUrl, string $providerCommitMessage, string $providerCommitUrl, string $providerPullRequestId, bool $external, Database $dbForPlatform, Authorization $authorization, Build $queueForBuilds, callable $getProjectDB, Request $request) { $errors = []; foreach ($repositories as $repository) { try { @@ -86,12 +86,12 @@ $createGitDeployments = function (GitHub $github, string $providerInstallationId } $projectId = $repository->getAttribute('projectId'); - $project = Authorization::skip(fn () => $dbForPlatform->getDocument('projects', $projectId)); + $project = $authorization->skip(fn () => $dbForPlatform->getDocument('projects', $projectId)); $dbForProject = $getProjectDB($project); $resourceCollection = $resourceType === "function" ? 'functions' : 'sites'; $resourceId = $repository->getAttribute('resourceId'); - $resource = Authorization::skip(fn () => $dbForProject->getDocument($resourceCollection, $resourceId)); + $resource = $authorization->skip(fn () => $dbForProject->getDocument($resourceCollection, $resourceId)); $resourceInternalId = $resource->getSequence(); $deploymentId = ID::unique(); @@ -140,7 +140,7 @@ $createGitDeployments = function (GitHub $github, string $providerInstallationId $latestCommentId = ''; if (!empty($providerPullRequestId) && $resource->getAttribute('providerSilentMode', false) === false) { - $latestComment = Authorization::skip(fn () => $dbForPlatform->findOne('vcsComments', [ + $latestComment = $authorization->skip(fn () => $dbForPlatform->findOne('vcsComments', [ Query::equal('providerRepositoryId', [$providerRepositoryId]), Query::equal('providerPullRequestId', [$providerPullRequestId]), Query::orderDesc('$createdAt'), @@ -179,7 +179,7 @@ $createGitDeployments = function (GitHub $github, string $providerInstallationId $latestCommentId = \strval($github->updateComment($owner, $repositoryName, $latestCommentId, $comment->generateComment())); } finally { - Authorization::skip(fn () => $dbForPlatform->deleteDocument('vcsCommentLocks', $latestCommentId)); + $authorization->skip(fn () => $dbForPlatform->deleteDocument('vcsCommentLocks', $latestCommentId)); } } } else { @@ -190,7 +190,7 @@ $createGitDeployments = function (GitHub $github, string $providerInstallationId if (!empty($latestCommentId)) { $teamId = $project->getAttribute('teamId', ''); - $latestComment = Authorization::skip(fn () => $dbForPlatform->createDocument('vcsComments', new Document([ + $latestComment = $authorization->skip(fn () => $dbForPlatform->createDocument('vcsComments', new Document([ '$id' => ID::unique(), '$permissions' => [ Permission::read(Role::team(ID::custom($teamId))), @@ -211,7 +211,7 @@ $createGitDeployments = function (GitHub $github, string $providerInstallationId } } } elseif (!empty($providerBranch)) { - $latestComments = Authorization::skip(fn () => $dbForPlatform->find('vcsComments', [ + $latestComments = $authorization->skip(fn () => $dbForPlatform->find('vcsComments', [ Query::equal('providerRepositoryId', [$providerRepositoryId]), Query::equal('providerBranch', [$providerBranch]), Query::orderDesc('$createdAt'), @@ -250,7 +250,7 @@ $createGitDeployments = function (GitHub $github, string $providerInstallationId $latestCommentId = \strval($github->updateComment($owner, $repositoryName, $latestCommentId, $comment->generateComment())); } finally { - Authorization::skip(fn () => $dbForPlatform->deleteDocument('vcsCommentLocks', $latestCommentId)); + $authorization->skip(fn () => $dbForPlatform->deleteDocument('vcsCommentLocks', $latestCommentId)); } } } @@ -293,7 +293,7 @@ $createGitDeployments = function (GitHub $github, string $providerInstallationId $commands[] = $resource->getAttribute('commands', ''); } - $deployment = Authorization::skip(fn () => $dbForProject->createDocument('deployments', new Document([ + $deployment = $authorization->skip(fn () => $dbForProject->createDocument('deployments', new Document([ '$id' => $deploymentId, '$permissions' => [ Permission::read(Role::any()), @@ -333,7 +333,7 @@ $createGitDeployments = function (GitHub $github, string $providerInstallationId ->setAttribute('latestDeploymentInternalId', $deployment->getSequence()) ->setAttribute('latestDeploymentCreatedAt', $deployment->getCreatedAt()) ->setAttribute('latestDeploymentStatus', $deployment->getAttribute('status', '')); - Authorization::skip(fn () => $dbForProject->updateDocument($resource->getCollection(), $resource->getId(), $resource)); + $authorization->skip(fn () => $dbForProject->updateDocument($resource->getCollection(), $resource->getId(), $resource)); if ($resource->getCollection() === 'sites') { $projectId = $project->getId(); @@ -343,7 +343,7 @@ $createGitDeployments = function (GitHub $github, string $providerInstallationId $domain = ID::unique() . "." . $sitesDomain; $ruleId = md5($domain); $previewRuleId = $ruleId; - Authorization::skip( + $authorization->skip( fn () => $dbForPlatform->createDocument('rules', new Document([ '$id' => $ruleId, 'projectId' => $project->getId(), @@ -376,7 +376,7 @@ $createGitDeployments = function (GitHub $github, string $providerInstallationId $domain = "branch-{$branchPrefix}-{$resourceProjectHash}.{$sitesDomain}"; $ruleId = md5($domain); try { - Authorization::skip( + $authorization->skip( fn () => $dbForPlatform->createDocument('rules', new Document([ '$id' => $ruleId, 'projectId' => $project->getId(), @@ -407,7 +407,7 @@ $createGitDeployments = function (GitHub $github, string $providerInstallationId $domain = "commit-" . substr($providerCommitHash, 0, 16) . ".{$sitesDomain}"; $ruleId = md5($domain); try { - Authorization::skip( + $authorization->skip( fn () => $dbForPlatform->createDocument('rules', new Document([ '$id' => $ruleId, 'projectId' => $project->getId(), @@ -461,7 +461,7 @@ $createGitDeployments = function (GitHub $github, string $providerInstallationId if ($lockAcquired) { // Wrap in try/finally to ensure lock file gets deleted try { - $rule = Authorization::skip(fn () => $dbForPlatform->getDocument('rules', $previewRuleId)); + $rule = $authorization->skip(fn () => $dbForPlatform->getDocument('rules', $previewRuleId)); $protocol = System::getEnv('_APP_OPTIONS_FORCE_HTTPS') === 'disabled' ? 'http' : 'https'; $previewUrl = !empty($rule) ? ("{$protocol}://" . $rule->getAttribute('domain', '')) : ''; @@ -473,7 +473,7 @@ $createGitDeployments = function (GitHub $github, string $providerInstallationId $github->updateComment($owner, $repositoryName, $latestCommentId, $comment->generateComment()); } } finally { - Authorization::skip(fn () => $dbForPlatform->deleteDocument('vcsCommentLocks', $latestCommentId)); + $authorization->skip(fn () => $dbForPlatform->deleteDocument('vcsCommentLocks', $latestCommentId)); } } } @@ -1467,10 +1467,11 @@ App::post('/v1/vcs/github/events') ->inject('request') ->inject('response') ->inject('dbForPlatform') + ->inject('authorization') ->inject('getProjectDB') ->inject('queueForBuilds') ->action( - function (GitHub $github, Request $request, Response $response, Database $dbForPlatform, callable $getProjectDB, Build $queueForBuilds) use ($createGitDeployments) { + function (GitHub $github, Request $request, Response $response, Database $dbForPlatform, Authorization $authorization, callable $getProjectDB, Build $queueForBuilds) use ($createGitDeployments) { $payload = $request->getRawPayload(); $signatureRemote = $request->getHeader('x-hub-signature-256', ''); $signatureLocal = System::getEnv('_APP_VCS_GITHUB_WEBHOOK_SECRET', ''); @@ -1506,14 +1507,14 @@ App::post('/v1/vcs/github/events') $github->initializeVariables($providerInstallationId, $privateKey, $githubAppId); //find resourceId from relevant resources table - $repositories = Authorization::skip(fn () => $dbForPlatform->find('repositories', [ + $repositories = $authorization->skip(fn () => $dbForPlatform->find('repositories', [ Query::equal('providerRepositoryId', [$providerRepositoryId]), Query::limit(100), ])); // create new deployment only on push (not committed by us) and not when branch is created or deleted if ($providerCommitAuthorEmail !== APP_VCS_GITHUB_EMAIL && !$providerBranchCreated && !$providerBranchDeleted) { - $createGitDeployments($github, $providerInstallationId, $repositories, $providerBranch, $providerBranchUrl, $providerRepositoryName, $providerRepositoryUrl, $providerRepositoryOwner, $providerCommitHash, $providerCommitAuthorName, $providerCommitAuthorUrl, $providerCommitMessage, $providerCommitUrl, '', false, $dbForPlatform, $queueForBuilds, $getProjectDB, $request); + $createGitDeployments($github, $providerInstallationId, $repositories, $providerBranch, $providerBranchUrl, $providerRepositoryName, $providerRepositoryUrl, $providerRepositoryOwner, $providerCommitHash, $providerCommitAuthorName, $providerCommitAuthorUrl, $providerCommitMessage, $providerCommitUrl, '', false, $dbForPlatform, $authorization, $queueForBuilds, $getProjectDB, $request); } } elseif ($event == $github::EVENT_INSTALLATION) { if ($parsedPayload["action"] == "deleted") { @@ -1526,16 +1527,16 @@ App::post('/v1/vcs/github/events') ]); foreach ($installations as $installation) { - $repositories = Authorization::skip(fn () => $dbForPlatform->find('repositories', [ + $repositories = $authorization->skip(fn () => $dbForPlatform->find('repositories', [ Query::equal('installationInternalId', [$installation->getSequence()]), Query::limit(1000) ])); foreach ($repositories as $repository) { - Authorization::skip(fn () => $dbForPlatform->deleteDocument('repositories', $repository->getId())); + $authorization->skip(fn () => $dbForPlatform->deleteDocument('repositories', $repository->getId())); } - Authorization::skip(fn () => $dbForPlatform->deleteDocument('installations', $installation->getId())); + $authorization->skip(fn () => $dbForPlatform->deleteDocument('installations', $installation->getId())); } } } elseif ($event == $github::EVENT_PULL_REQUEST) { @@ -1564,12 +1565,12 @@ App::post('/v1/vcs/github/events') $providerCommitAuthor = $commitDetails["commitAuthor"] ?? ''; $providerCommitMessage = $commitDetails["commitMessage"] ?? ''; - $repositories = Authorization::skip(fn () => $dbForPlatform->find('repositories', [ + $repositories = $authorization->skip(fn () => $dbForPlatform->find('repositories', [ Query::equal('providerRepositoryId', [$providerRepositoryId]), Query::orderDesc('$createdAt') ])); - $createGitDeployments($github, $providerInstallationId, $repositories, $providerBranch, $providerBranchUrl, $providerRepositoryName, $providerRepositoryUrl, $providerRepositoryOwner, $providerCommitHash, $providerCommitAuthor, $providerCommitAuthorUrl, $providerCommitMessage, $providerCommitUrl, $providerPullRequestId, $external, $dbForPlatform, $queueForBuilds, $getProjectDB, $request); + $createGitDeployments($github, $providerInstallationId, $repositories, $providerBranch, $providerBranchUrl, $providerRepositoryName, $providerRepositoryUrl, $providerRepositoryOwner, $providerCommitHash, $providerCommitAuthor, $providerCommitAuthorUrl, $providerCommitMessage, $providerCommitUrl, $providerPullRequestId, $external, $dbForPlatform, $authorization, $queueForBuilds, $getProjectDB, $request); } elseif ($parsedPayload["action"] == "closed") { // Allowed external contributions cleanup @@ -1578,7 +1579,7 @@ App::post('/v1/vcs/github/events') $external = $parsedPayload["external"] ?? true; if ($external) { - $repositories = Authorization::skip(fn () => $dbForPlatform->find('repositories', [ + $repositories = $authorization->skip(fn () => $dbForPlatform->find('repositories', [ Query::equal('providerRepositoryId', [$providerRepositoryId]), Query::orderDesc('$createdAt') ])); @@ -1589,7 +1590,7 @@ App::post('/v1/vcs/github/events') if (\in_array($providerPullRequestId, $providerPullRequestIds)) { $providerPullRequestIds = \array_diff($providerPullRequestIds, [$providerPullRequestId]); $repository = $repository->setAttribute('providerPullRequestIds', $providerPullRequestIds); - $repository = Authorization::skip(fn () => $dbForPlatform->updateDocument('repositories', $repository->getId(), $repository)); + $repository = $authorization->skip(fn () => $dbForPlatform->updateDocument('repositories', $repository->getId(), $repository)); } } } @@ -1777,16 +1778,17 @@ App::patch('/v1/vcs/github/installations/:installationId/repositories/:repositor ->inject('response') ->inject('project') ->inject('dbForPlatform') + ->inject('authorization') ->inject('getProjectDB') ->inject('queueForBuilds') - ->action(function (string $installationId, string $repositoryId, string $providerPullRequestId, GitHub $github, Request $request, Response $response, Document $project, Database $dbForPlatform, callable $getProjectDB, Build $queueForBuilds) use ($createGitDeployments) { + ->action(function (string $installationId, string $repositoryId, string $providerPullRequestId, GitHub $github, Request $request, Response $response, Document $project, Database $dbForPlatform, Authorization $authorization, callable $getProjectDB, Build $queueForBuilds) use ($createGitDeployments) { $installation = $dbForPlatform->getDocument('installations', $installationId); if ($installation->isEmpty()) { throw new Exception(Exception::INSTALLATION_NOT_FOUND); } - $repository = Authorization::skip(fn () => $dbForPlatform->getDocument('repositories', $repositoryId, [ + $repository = $authorization->skip(fn () => $dbForPlatform->getDocument('repositories', $repositoryId, [ Query::equal('projectInternalId', [$project->getSequence()]) ])); @@ -1803,7 +1805,7 @@ App::patch('/v1/vcs/github/installations/:installationId/repositories/:repositor // TODO: Delete from array when PR is closed - $repository = Authorization::skip(fn () => $dbForPlatform->updateDocument('repositories', $repository->getId(), $repository)); + $repository = $authorization->skip(fn () => $dbForPlatform->updateDocument('repositories', $repository->getId(), $repository)); $privateKey = System::getEnv('_APP_VCS_GITHUB_PRIVATE_KEY'); $githubAppId = System::getEnv('_APP_VCS_GITHUB_APP_ID'); @@ -1827,7 +1829,7 @@ App::patch('/v1/vcs/github/installations/:installationId/repositories/:repositor $providerBranch = \explode(':', $pullRequestResponse['head']['label'])[1] ?? ''; $providerCommitHash = $pullRequestResponse['head']['sha'] ?? ''; - $createGitDeployments($github, $providerInstallationId, $repositories, $providerBranch, $providerCommitHash, $providerPullRequestId, true, $dbForPlatform, $queueForBuilds, $getProjectDB, $request); + $createGitDeployments($github, $providerInstallationId, $repositories, $providerBranch, '', '', '', '', $providerCommitHash, '', '', '', '', $providerPullRequestId, true, $dbForPlatform, $authorization, $queueForBuilds, $getProjectDB, $request); $response->noContent(); }); diff --git a/app/controllers/general.php b/app/controllers/general.php index e0435cd499..6790d3c67d 100644 --- a/app/controllers/general.php +++ b/app/controllers/general.php @@ -57,7 +57,7 @@ Config::setParam('domainVerification', false); Config::setParam('cookieDomain', 'localhost'); Config::setParam('cookieSamesite', Response::COOKIE_SAMESITE_NONE); -function router(App $utopia, Database $dbForPlatform, callable $getProjectDB, SwooleRequest $swooleRequest, Request $request, Response $response, Log $log, Event $queueForEvents, StatsUsage $queueForStatsUsage, Func $queueForFunctions, Executor $executor, Reader $geodb, callable $isResourceBlocked, string $previewHostname, ?Key $apiKey) +function router(App $utopia, Database $dbForPlatform, callable $getProjectDB, SwooleRequest $swooleRequest, Request $request, Response $response, Log $log, Event $queueForEvents, StatsUsage $queueForStatsUsage, Func $queueForFunctions, Executor $executor, Reader $geodb, callable $isResourceBlocked, string $previewHostname, Authorization $authorization, ?Key $apiKey) { $host = $request->getHostname() ?? ''; if (!empty($previewHostname)) { @@ -66,9 +66,9 @@ function router(App $utopia, Database $dbForPlatform, callable $getProjectDB, Sw // TODO: @christyjacob remove once we migrate the rules in 1.7.x if (System::getEnv('_APP_RULES_FORMAT') === 'md5') { - $rule = Authorization::skip(fn () => $dbForPlatform->getDocument('rules', md5($host))); + $rule = $authorization->skip(fn () => $dbForPlatform->getDocument('rules', md5($host))); } else { - $rule = Authorization::skip( + $rule = $authorization->skip( fn () => $dbForPlatform->find('rules', [ Query::equal('domain', [$host]), Query::limit(1) @@ -109,7 +109,7 @@ function router(App $utopia, Database $dbForPlatform, callable $getProjectDB, Sw } $projectId = $rule->getAttribute('projectId'); - $project = Authorization::skip( + $project = $authorization->skip( fn () => $dbForPlatform->getDocument('projects', $projectId) ); @@ -117,7 +117,7 @@ function router(App $utopia, Database $dbForPlatform, callable $getProjectDB, Sw $accessedAt = $project->getAttribute('accessedAt', 0); if (DateTime::formatTz(DateTime::addSeconds(new \DateTime(), -APP_PROJECT_ACCESS)) > $accessedAt) { $project->setAttribute('accessedAt', DateTime::now()); - Authorization::skip(fn () => $dbForPlatform->updateDocument('projects', $project->getId(), $project)); + $authorization->skip(fn () => $dbForPlatform->updateDocument('projects', $project->getId(), $project)); } /** @@ -156,7 +156,7 @@ function router(App $utopia, Database $dbForPlatform, callable $getProjectDB, Sw /** @var Document $deployment */ if (!empty($rule->getAttribute('deploymentId', ''))) { - $deployment = Authorization::skip(fn () => $dbForProject->getDocument('deployments', $rule->getAttribute('deploymentId'))); + $deployment = $authorization->skip(fn () => $dbForProject->getDocument('deployments', $rule->getAttribute('deploymentId'))); } else { // 1.6.x DB schema compatibility // TODO: Make sure deploymentId is never empty, and remove this code @@ -170,15 +170,15 @@ function router(App $utopia, Database $dbForPlatform, callable $getProjectDB, Sw // Document of site or function $resource = $resourceType === 'function' ? - Authorization::skip(fn () => $dbForProject->getDocument('functions', $resourceId)) : - Authorization::skip(fn () => $dbForProject->getDocument('sites', $resourceId)); + $authorization->skip(fn () => $dbForProject->getDocument('functions', $resourceId)) : + $authorization->skip(fn () => $dbForProject->getDocument('sites', $resourceId)); // ID of active deployments // Attempts to use attribute from both schemas (1.6 and 1.7) $activeDeploymentId = $resource->getAttribute('deploymentId', $resource->getAttribute('deployment', '')); // Get deployment document, as intended originally - $deployment = Authorization::skip(fn () => $dbForProject->getDocument('deployments', $activeDeploymentId)); + $deployment = $authorization->skip(fn () => $dbForProject->getDocument('deployments', $activeDeploymentId)); } if ($deployment->getAttribute('resourceType', '') === 'functions') { @@ -197,8 +197,8 @@ function router(App $utopia, Database $dbForPlatform, callable $getProjectDB, Sw } $resource = $type === 'function' ? - Authorization::skip(fn () => $dbForProject->getDocument('functions', $deployment->getAttribute('resourceId', ''))) : - Authorization::skip(fn () => $dbForProject->getDocument('sites', $deployment->getAttribute('resourceId', ''))); + $authorization->skip(fn () => $dbForProject->getDocument('functions', $deployment->getAttribute('resourceId', ''))) : + $authorization->skip(fn () => $dbForProject->getDocument('sites', $deployment->getAttribute('resourceId', ''))); $isPreview = $type === 'function' ? false : ($rule->getAttribute('trigger', '') !== 'manual'); @@ -240,7 +240,7 @@ function router(App $utopia, Database $dbForPlatform, callable $getProjectDB, Sw $userExists = false; $userId = $payload['userId'] ?? ''; if (!empty($userId)) { - $user = Authorization::skip(fn () => $dbForPlatform->getDocument('users', $userId)); + $user = $authorization->skip(fn () => $dbForPlatform->getDocument('users', $userId)); if (!$user->isEmpty() && $user->getAttribute('status', false)) { $userExists = true; } @@ -253,7 +253,7 @@ function router(App $utopia, Database $dbForPlatform, callable $getProjectDB, Sw } $membershipExists = false; - $project = Authorization::skip(fn () => $dbForPlatform->getDocument('projects', $projectId)); + $project = $authorization->skip(fn () => $dbForPlatform->getDocument('projects', $projectId)); if (!$project->isEmpty() && isset($user)) { $teamId = $project->getAttribute('teamId', ''); $membership = $user->find('teamId', $teamId, 'memberships'); @@ -864,7 +864,8 @@ App::init() ->inject('apiKey') ->inject('httpReferrer') ->inject('httpReferrerSafe') - ->action(function (App $utopia, SwooleRequest $swooleRequest, Request $request, Response $response, Log $log, Document $console, Document $project, Database $dbForPlatform, callable $getProjectDB, Locale $locale, array $localeCodes, array $platforms, Reader $geodb, StatsUsage $queueForStatsUsage, Event $queueForEvents, Certificate $queueForCertificates, Func $queueForFunctions, Executor $executor, callable $isResourceBlocked, string $previewHostname, Document $devKey, ?Key $apiKey, string $httpReferrer, string $httpReferrerSafe) { + ->inject('authorization') + ->action(function (App $utopia, SwooleRequest $swooleRequest, Request $request, Response $response, Log $log, Document $console, Document $project, Database $dbForPlatform, callable $getProjectDB, Locale $locale, array $localeCodes, array $platforms, Reader $geodb, StatsUsage $queueForStatsUsage, Event $queueForEvents, Certificate $queueForCertificates, Func $queueForFunctions, Executor $executor, callable $isResourceBlocked, string $previewHostname, Document $devKey, ?Key $apiKey, string $httpReferrer, string $httpReferrerSafe, Authorization $authorization) { /* * Appwrite Router */ @@ -872,7 +873,7 @@ App::init() $mainDomain = System::getEnv('_APP_DOMAIN', ''); // Only run Router when external domain if ($host !== $mainDomain || !empty($previewHostname)) { - if (router($utopia, $dbForPlatform, $getProjectDB, $swooleRequest, $request, $response, $log, $queueForEvents, $queueForStatsUsage, $queueForFunctions, $executor, $geodb, $isResourceBlocked, $previewHostname, $apiKey)) { + if (router($utopia, $dbForPlatform, $getProjectDB, $swooleRequest, $request, $response, $log, $queueForEvents, $queueForStatsUsage, $queueForFunctions, $executor, $geodb, $isResourceBlocked, $previewHostname, $authorization, $apiKey)) { $utopia->getRoute()?->label('router', true); } } @@ -923,7 +924,7 @@ App::init() } elseif (str_starts_with($request->getURI(), '/.well-known/acme-challenge')) { Console::warning('Skipping SSL certificates generation on ACME challenge.'); } else { - Authorization::disable(); + $authorization->disable(); $envDomain = System::getEnv('_APP_DOMAIN', ''); $mainDomain = null; @@ -993,7 +994,7 @@ App::init() } $domains[$domain->get()] = true; - Authorization::reset(); // ensure authorization is re-enabled + $authorization->reset(); // ensure authorization is re-enabled } Config::setParam('domains', $domains); } @@ -1129,7 +1130,8 @@ App::options() ->inject('project') ->inject('devKey') ->inject('apiKey') - ->action(function (App $utopia, SwooleRequest $swooleRequest, Request $request, Response $response, Log $log, Database $dbForPlatform, callable $getProjectDB, Event $queueForEvents, StatsUsage $queueForStatsUsage, Func $queueForFunctions, Executor $executor, Reader $geodb, callable $isResourceBlocked, string $previewHostname, Document $project, Document $devKey, ?Key $apiKey) { + ->inject('authorization') + ->action(function (App $utopia, SwooleRequest $swooleRequest, Request $request, Response $response, Log $log, Database $dbForPlatform, callable $getProjectDB, Event $queueForEvents, StatsUsage $queueForStatsUsage, Func $queueForFunctions, Executor $executor, Reader $geodb, callable $isResourceBlocked, string $previewHostname, Document $project, Document $devKey, ?Key $apiKey, Authorization $authorization) { /* * Appwrite Router */ @@ -1137,7 +1139,7 @@ App::options() $mainDomain = System::getEnv('_APP_DOMAIN', ''); // Only run Router when external domain if ($host !== $mainDomain || !empty($previewHostname)) { - if (router($utopia, $dbForPlatform, $getProjectDB, $swooleRequest, $request, $response, $log, $queueForEvents, $queueForStatsUsage, $queueForFunctions, $executor, $geodb, $isResourceBlocked, $previewHostname, $apiKey)) { + if (router($utopia, $dbForPlatform, $getProjectDB, $swooleRequest, $request, $response, $log, $queueForEvents, $queueForStatsUsage, $queueForFunctions, $executor, $geodb, $isResourceBlocked, $previewHostname, $authorization, $apiKey)) { $utopia->getRoute()?->label('router', true); } } @@ -1178,7 +1180,8 @@ App::error() ->inject('log') ->inject('queueForStatsUsage') ->inject('devKey') - ->action(function (Throwable $error, App $utopia, Request $request, Response $response, Document $project, ?Logger $logger, Log $log, StatsUsage $queueForStatsUsage) { + ->inject('authorization') + ->action(function (Throwable $error, App $utopia, Request $request, Response $response, Document $project, ?Logger $logger, Log $log, StatsUsage $queueForStatsUsage, Document $devKey, Authorization $authorization) { $version = System::getEnv('_APP_VERSION', 'UNKNOWN'); $route = $utopia->getRoute(); $class = \get_class($error); @@ -1260,7 +1263,7 @@ App::error() * If not a publishable error, track usage stats. Publishable errors are >= 500 or those explicitly marked as publish=true in errors.php */ if (!$publish && $project->getId() !== 'console') { - if (!Auth::isPrivilegedUser(Authorization::getRoles())) { + if (!Auth::isPrivilegedUser($authorization->getRoles())) { $fileSize = 0; $file = $request->getFiles('file'); if (!empty($file)) { @@ -1322,7 +1325,7 @@ App::error() $log->addExtra('file', $error->getFile()); $log->addExtra('line', $error->getLine()); $log->addExtra('trace', $error->getTraceAsString()); - $log->addExtra('roles', Authorization::getRoles()); + $log->addExtra('roles', $authorization->getRoles()); $action = 'UNKNOWN_NAMESPACE.UNKNOWN.METHOD'; if (!empty($sdk)) { @@ -1445,7 +1448,8 @@ App::get('/robots.txt') ->inject('isResourceBlocked') ->inject('previewHostname') ->inject('apiKey') - ->action(function (App $utopia, SwooleRequest $swooleRequest, Request $request, Response $response, Log $log, Database $dbForPlatform, callable $getProjectDB, Event $queueForEvents, StatsUsage $queueForStatsUsage, Func $queueForFunctions, Executor $executor, Reader $geodb, callable $isResourceBlocked, string $previewHostname, ?Key $apiKey) { + ->inject('authorization') + ->action(function (App $utopia, SwooleRequest $swooleRequest, Request $request, Response $response, Log $log, Database $dbForPlatform, callable $getProjectDB, Event $queueForEvents, StatsUsage $queueForStatsUsage, Func $queueForFunctions, Executor $executor, Reader $geodb, callable $isResourceBlocked, string $previewHostname, ?Key $apiKey, Authorization $authorization) { $host = $request->getHostname() ?? ''; $consoleDomain = System::getEnv('_APP_CONSOLE_DOMAIN', ''); $mainDomain = System::getEnv('_APP_DOMAIN', ''); @@ -1454,7 +1458,7 @@ App::get('/robots.txt') $template = new View(__DIR__ . '/../views/general/robots.phtml'); $response->text($template->render(false)); } else { - if (router($utopia, $dbForPlatform, $getProjectDB, $swooleRequest, $request, $response, $log, $queueForEvents, $queueForStatsUsage, $queueForFunctions, $executor, $geodb, $isResourceBlocked, $previewHostname, $apiKey)) { + if (router($utopia, $dbForPlatform, $getProjectDB, $swooleRequest, $request, $response, $log, $queueForEvents, $queueForStatsUsage, $queueForFunctions, $executor, $geodb, $isResourceBlocked, $previewHostname, $authorization, $apiKey)) { $utopia->getRoute()?->label('router', true); } } @@ -1479,7 +1483,8 @@ App::get('/humans.txt') ->inject('isResourceBlocked') ->inject('previewHostname') ->inject('apiKey') - ->action(function (App $utopia, SwooleRequest $swooleRequest, Request $request, Response $response, Log $log, Database $dbForPlatform, callable $getProjectDB, Event $queueForEvents, StatsUsage $queueForStatsUsage, Func $queueForFunctions, Executor $executor, Reader $geodb, callable $isResourceBlocked, string $previewHostname, ?Key $apiKey) { + ->inject('authorization') + ->action(function (App $utopia, SwooleRequest $swooleRequest, Request $request, Response $response, Log $log, Database $dbForPlatform, callable $getProjectDB, Event $queueForEvents, StatsUsage $queueForStatsUsage, Func $queueForFunctions, Executor $executor, Reader $geodb, callable $isResourceBlocked, string $previewHostname, ?Key $apiKey, Authorization $authorization) { $host = $request->getHostname() ?? ''; $consoleDomain = System::getEnv('_APP_CONSOLE_DOMAIN', ''); $mainDomain = System::getEnv('_APP_DOMAIN', ''); @@ -1488,7 +1493,7 @@ App::get('/humans.txt') $template = new View(__DIR__ . '/../views/general/humans.phtml'); $response->text($template->render(false)); } else { - if (router($utopia, $dbForPlatform, $getProjectDB, $swooleRequest, $request, $response, $log, $queueForEvents, $queueForStatsUsage, $queueForFunctions, $executor, $geodb, $isResourceBlocked, $previewHostname, $apiKey)) { + if (router($utopia, $dbForPlatform, $getProjectDB, $swooleRequest, $request, $response, $log, $queueForEvents, $queueForStatsUsage, $queueForFunctions, $executor, $geodb, $isResourceBlocked, $previewHostname, $authorization, $apiKey)) { $utopia->getRoute()?->label('router', true); } } @@ -1572,7 +1577,8 @@ App::get('/v1/ping') ->inject('project') ->inject('dbForPlatform') ->inject('queueForEvents') - ->action(function (Response $response, Document $project, Database $dbForPlatform, Event $queueForEvents) { + ->inject('authorization') + ->action(function (Response $response, Document $project, Database $dbForPlatform, Event $queueForEvents, Authorization $authorization) { if ($project->isEmpty() || $project->getId() === 'console') { throw new AppwriteException(AppwriteException::PROJECT_NOT_FOUND); } @@ -1584,7 +1590,7 @@ App::get('/v1/ping') ->setAttribute('pingCount', $pingCount) ->setAttribute('pingedAt', $pingedAt); - Authorization::skip(function () use ($dbForPlatform, $project) { + $authorization->skip(function () use ($dbForPlatform, $project) { $dbForPlatform->updateDocument('projects', $project->getId(), $project); }); diff --git a/app/controllers/shared/api.php b/app/controllers/shared/api.php index 6a146f2bdc..911c8b110d 100644 --- a/app/controllers/shared/api.php +++ b/app/controllers/shared/api.php @@ -29,6 +29,7 @@ use Utopia\Database\DateTime; use Utopia\Database\Document; use Utopia\Database\Helpers\Role; use Utopia\Database\Validator\Authorization; +use Utopia\Database\Validator\Authorization\Input; use Utopia\Queue\Publisher; use Utopia\System\System; use Utopia\Telemetry\Adapter as Telemetry; @@ -232,7 +233,8 @@ App::init() ->inject('mode') ->inject('team') ->inject('apiKey') - ->action(function (App $utopia, Request $request, Database $dbForPlatform, Database $dbForProject, Audit $queueForAudits, Document $project, Document $user, ?Document $session, array $servers, string $mode, Document $team, ?Key $apiKey) { + ->inject('authorization') + ->action(function (App $utopia, Request $request, Database $dbForPlatform, Database $dbForProject, Audit $queueForAudits, Document $project, Document $user, ?Document $session, array $servers, string $mode, Document $team, ?Key $apiKey, Authorization $authorization) { $route = $utopia->getRoute(); if (System::getEnv('_APP_EDITION', 'self-hosted') === 'self-hosted' && str_starts_with($route->getPath(), '/v1/backups')) { throw new Exception(Exception::GENERAL_BAD_REQUEST, 'Database Backups are available on Appwrite Cloud'); @@ -264,7 +266,7 @@ App::init() if ($apiKey->getRole() === Auth::USER_ROLE_APPS) { // Disable authorization checks for API keys - Authorization::setDefaultStatus(false); + $authorization->setDefaultStatus(false); $user = new Document([ '$id' => '', @@ -337,14 +339,14 @@ App::init() $scopes = \array_merge($scopes, $roles[$role]['scopes']); } - Authorization::setDefaultStatus(false); // Cancel security segmentation for admin users. + $authorization->setDefaultStatus(false); // Cancel security segmentation for admin users. } $scopes = \array_unique($scopes); - Authorization::setRole($role); - foreach (Auth::getRoles($user) as $authRole) { - Authorization::setRole($authRole); + $authorization->addRole($role); + foreach (Auth::getRoles($user, $authorization) as $authRole) { + $authorization->addRole($authRole); } // Update project last activity @@ -352,7 +354,7 @@ App::init() $accessedAt = $project->getAttribute('accessedAt', 0); if (DateTime::formatTz(DateTime::addSeconds(new \DateTime(), -APP_PROJECT_ACCESS)) > $accessedAt) { $project->setAttribute('accessedAt', DateTime::now()); - Authorization::skip(fn () => $dbForPlatform->updateDocument('projects', $project->getId(), $project)); + $authorization->skip(fn () => $dbForPlatform->updateDocument('projects', $project->getId(), $project)); } } @@ -387,7 +389,7 @@ App::init() if ( array_key_exists($namespace, $project->getAttribute('services', [])) && !$project->getAttribute('services', [])[$namespace] - && !(Auth::isPrivilegedUser(Authorization::getRoles()) || Auth::isAppUser(Authorization::getRoles())) + && !(Auth::isPrivilegedUser($authorization->getRoles()) || Auth::isAppUser($authorization->getRoles())) ) { throw new Exception(Exception::GENERAL_SERVICE_DISABLED); } @@ -447,14 +449,15 @@ App::init() ->inject('plan') ->inject('devKey') ->inject('telemetry') - ->action(function (App $utopia, Request $request, Response $response, Document $project, Document $user, Publisher $publisher, Publisher $publisherFunctions, Publisher $publisherWebhooks, Event $queueForEvents, Messaging $queueForMessaging, Audit $queueForAudits, Delete $queueForDeletes, EventDatabase $queueForDatabase, Build $queueForBuilds, StatsUsage $queueForStatsUsage, Database $dbForProject, callable $timelimit, Document $resourceToken, string $mode, ?Key $apiKey, array $plan, Document $devKey, Telemetry $telemetry) use ($usageDatabaseListener, $eventDatabaseListener) { + ->inject('authorization') + ->action(function (App $utopia, Request $request, Response $response, Document $project, Document $user, Publisher $publisher, Publisher $publisherFunctions, Publisher $publisherWebhooks, Event $queueForEvents, Messaging $queueForMessaging, Audit $queueForAudits, Delete $queueForDeletes, EventDatabase $queueForDatabase, Build $queueForBuilds, StatsUsage $queueForStatsUsage, Database $dbForProject, callable $timelimit, Document $resourceToken, string $mode, ?Key $apiKey, array $plan, Document $devKey, Telemetry $telemetry, Authorization $authorization) use ($usageDatabaseListener, $eventDatabaseListener) { $route = $utopia->getRoute(); if ( array_key_exists('rest', $project->getAttribute('apis', [])) && !$project->getAttribute('apis', [])['rest'] - && !(Auth::isPrivilegedUser(Authorization::getRoles()) || Auth::isAppUser(Authorization::getRoles())) + && !(Auth::isPrivilegedUser($authorization->getRoles()) || Auth::isAppUser($authorization->getRoles())) ) { throw new AppwriteException(AppwriteException::GENERAL_API_DISABLED); } @@ -484,7 +487,7 @@ App::init() $closestLimit = null; - $roles = Authorization::getRoles(); + $roles = $authorization->getRoles(); $isPrivilegedUser = Auth::isPrivilegedUser($roles); $isAppUser = Auth::isAppUser($roles); @@ -584,10 +587,10 @@ App::init() if ($useCache) { $route = $utopia->match($request); $isImageTransformation = $route->getPath() === '/v1/storage/buckets/:bucketId/files/:fileId/preview'; - $isDisabled = isset($plan['imageTransformations']) && $plan['imageTransformations'] === -1 && !Auth::isPrivilegedUser(Authorization::getRoles()); + $isDisabled = isset($plan['imageTransformations']) && $plan['imageTransformations'] === -1 && !Auth::isPrivilegedUser($authorization->getRoles()); $key = $request->cacheIdentifier(); - $cacheLog = Authorization::skip(fn () => $dbForProject->getDocument('cache', $key)); + $cacheLog = $authorization->skip(fn () => $dbForProject->getDocument('cache', $key)); $cache = new Cache( new Filesystem(APP_STORAGE_CACHE . DIRECTORY_SEPARATOR . 'app-' . $project->getId()) ); @@ -604,10 +607,10 @@ App::init() if ($type === 'bucket' && (!$isImageTransformation || !$isDisabled)) { $bucketId = $parts[1] ?? null; - $bucket = Authorization::skip(fn () => $dbForProject->getDocument('buckets', $bucketId)); + $bucket = $authorization->skip(fn () => $dbForProject->getDocument('buckets', $bucketId)); $isToken = !$resourceToken->isEmpty() && $resourceToken->getAttribute('bucketInternalId') === $bucket->getSequence(); - $isPrivilegedUser = Auth::isPrivilegedUser(Authorization::getRoles()); + $isPrivilegedUser = Auth::isPrivilegedUser($authorization->getRoles()); if ($bucket->isEmpty() || (!$bucket->getAttribute('enabled') && !$isAppUser && !$isPrivilegedUser)) { throw new Exception(Exception::STORAGE_BUCKET_NOT_FOUND); @@ -618,8 +621,7 @@ App::init() } $fileSecurity = $bucket->getAttribute('fileSecurity', false); - $validator = new Authorization(Database::PERMISSION_READ); - $valid = $validator->isValid($bucket->getRead()); + $valid = $authorization->isValid(new Input(Database::PERMISSION_READ, $bucket->getRead())); if (!$fileSecurity && !$valid && !$isToken) { throw new Exception(Exception::USER_UNAUTHORIZED); } @@ -630,7 +632,7 @@ App::init() if ($fileSecurity && !$valid && !$isToken) { $file = $dbForProject->getDocument('bucket_' . $bucket->getSequence(), $fileId); } else { - $file = Authorization::skip(fn () => $dbForProject->getDocument('bucket_' . $bucket->getSequence(), $fileId)); + $file = $authorization->skip(fn () => $dbForProject->getDocument('bucket_' . $bucket->getSequence(), $fileId)); } if (!$resourceToken->isEmpty() && $resourceToken->getAttribute('fileInternalId') !== $file->getSequence()) { @@ -641,11 +643,11 @@ App::init() throw new Exception(Exception::STORAGE_FILE_NOT_FOUND); } //Do not update transformedAt if it's a console user - if (!Auth::isPrivilegedUser(Authorization::getRoles())) { + if (!Auth::isPrivilegedUser($authorization->getRoles())) { $transformedAt = $file->getAttribute('transformedAt', ''); if (DateTime::formatTz(DateTime::addSeconds(new \DateTime(), -APP_PROJECT_ACCESS)) > $transformedAt) { $file->setAttribute('transformedAt', DateTime::now()); - Authorization::skip(fn () => $dbForProject->updateDocument('bucket_' . $file->getAttribute('bucketInternalId'), $file->getId(), $file)); + $authorization->skip(fn () => $dbForProject->updateDocument('bucket_' . $file->getAttribute('bucketInternalId'), $file->getId(), $file)); } } } @@ -741,7 +743,8 @@ App::shutdown() ->inject('queueForWebhooks') ->inject('queueForRealtime') ->inject('dbForProject') - ->action(function (App $utopia, Request $request, Response $response, Document $project, Document $user, Event $queueForEvents, Audit $queueForAudits, StatsUsage $queueForStatsUsage, Delete $queueForDeletes, EventDatabase $queueForDatabase, Build $queueForBuilds, Messaging $queueForMessaging, Func $queueForFunctions, Event $queueForWebhooks, Realtime $queueForRealtime, Database $dbForProject) use ($parseLabel) { + ->inject('authorization') + ->action(function (App $utopia, Request $request, Response $response, Document $project, Document $user, Event $queueForEvents, Audit $queueForAudits, StatsUsage $queueForStatsUsage, Delete $queueForDeletes, EventDatabase $queueForDatabase, Build $queueForBuilds, Messaging $queueForMessaging, Func $queueForFunctions, Event $queueForWebhooks, Realtime $queueForRealtime, Database $dbForProject, Authorization $authorization) use ($parseLabel) { $responsePayload = $response->getPayload(); @@ -867,11 +870,11 @@ App::shutdown() $key = $request->cacheIdentifier(); $signature = md5($data['payload']); - $cacheLog = Authorization::skip(fn () => $dbForProject->getDocument('cache', $key)); + $cacheLog = $authorization->skip(fn () => $dbForProject->getDocument('cache', $key)); $accessedAt = $cacheLog->getAttribute('accessedAt', 0); $now = DateTime::now(); if ($cacheLog->isEmpty()) { - Authorization::skip(fn () => $dbForProject->createDocument('cache', new Document([ + $authorization->skip(fn () => $dbForProject->createDocument('cache', new Document([ '$id' => $key, 'resource' => $resource, 'resourceType' => $resourceType, @@ -881,7 +884,7 @@ App::shutdown() ]))); } elseif (DateTime::formatTz(DateTime::addSeconds(new \DateTime(), -APP_CACHE_UPDATE)) > $accessedAt) { $cacheLog->setAttribute('accessedAt', $now); - Authorization::skip(fn () => $dbForProject->updateDocument('cache', $cacheLog->getId(), $cacheLog)); + $authorization->skip(fn () => $dbForProject->updateDocument('cache', $cacheLog->getId(), $cacheLog)); // Overwrite the file every APP_CACHE_UPDATE seconds to update the file modified time that is used in the TTL checks in cache->load() $cache->save($key, $data['payload']); } @@ -893,7 +896,7 @@ App::shutdown() } if ($project->getId() !== 'console') { - if (!Auth::isPrivilegedUser(Authorization::getRoles())) { + if (!Auth::isPrivilegedUser($authorization->getRoles())) { $fileSize = 0; $file = $request->getFiles('file'); if (!empty($file)) { diff --git a/app/controllers/shared/api/auth.php b/app/controllers/shared/api/auth.php index ecabc641ec..0e3c89c19a 100644 --- a/app/controllers/shared/api/auth.php +++ b/app/controllers/shared/api/auth.php @@ -36,7 +36,8 @@ App::init() ->inject('request') ->inject('project') ->inject('geodb') - ->action(function (App $utopia, Request $request, Document $project, Reader $geodb) { + ->inject('authorization') + ->action(function (App $utopia, Request $request, Document $project, Reader $geodb, Authorization $authorization) { $denylist = System::getEnv('_APP_CONSOLE_COUNTRIES_DENYLIST', ''); if (!empty($denylist && $project->getId() === 'console')) { $countries = explode(',', $denylist); @@ -49,8 +50,8 @@ App::init() $route = $utopia->match($request); - $isPrivilegedUser = Auth::isPrivilegedUser(Authorization::getRoles()); - $isAppUser = Auth::isAppUser(Authorization::getRoles()); + $isPrivilegedUser = Auth::isPrivilegedUser($authorization->getRoles()); + $isAppUser = Auth::isAppUser($authorization->getRoles()); if ($isAppUser || $isPrivilegedUser) { // Skip limits for app and console devs return; diff --git a/app/http.php b/app/http.php index 1bd3e97e69..568571fad2 100644 --- a/app/http.php +++ b/app/http.php @@ -25,7 +25,6 @@ use Utopia\Database\Helpers\ID; use Utopia\Database\Helpers\Permission; use Utopia\Database\Helpers\Role; use Utopia\Database\Query; -use Utopia\Database\Validator\Authorization; use Utopia\Logger\Log; use Utopia\Logger\Log\User; use Utopia\Pools\Group; @@ -259,7 +258,9 @@ $http->on(Constant::EVENT_START, function (Server $http) use ($payloadSize, $reg createDatabase($app, 'getLogsDB', 'logs', $collections['logs'], $pools); // create appwrite database, `dbForPlatform` is a direct access call. - createDatabase($app, 'dbForPlatform', 'appwrite', $collections['console'], $pools, function (Database $dbForPlatform) use ($collections) { + createDatabase($app, 'dbForPlatform', 'appwrite', $collections['console'], $pools, function (Database $dbForPlatform) use ($collections, $app) { + $authorization = $app->getResource('authorization'); + if ($dbForPlatform->getCollection(Audit::COLLECTION)->isEmpty()) { $audit = new Audit($dbForPlatform); $audit->setup(); @@ -318,9 +319,9 @@ $http->on(Constant::EVENT_START, function (Server $http) use ($payloadSize, $reg $dbForPlatform->createCollection('bucket_' . $bucket->getSequence(), $attributes, $indexes); } - if (Authorization::skip(fn () => $dbForPlatform->getDocument('buckets', 'screenshots')->isEmpty())) { + if ($authorization->skip(fn () => $dbForPlatform->getDocument('buckets', 'screenshots')->isEmpty())) { Console::info(" └── Creating screenshots bucket..."); - Authorization::skip(fn () => $dbForPlatform->createDocument('buckets', new Document([ + $authorization->skip(fn () => $dbForPlatform->createDocument('buckets', new Document([ '$id' => ID::custom('screenshots'), '$collection' => ID::custom('buckets'), 'name' => 'Screenshots', @@ -335,7 +336,7 @@ $http->on(Constant::EVENT_START, function (Server $http) use ($payloadSize, $reg 'search' => 'buckets Screenshots', ]))); - $bucket = Authorization::skip(fn () => $dbForPlatform->getDocument('buckets', 'screenshots')); + $bucket = $authorization->skip(fn () => $dbForPlatform->getDocument('buckets', 'screenshots')); Console::info(" └── Creating files collection for screenshots bucket..."); $files = $collections['buckets']['files'] ?? []; @@ -363,7 +364,7 @@ $http->on(Constant::EVENT_START, function (Server $http) use ($payloadSize, $reg 'orders' => $index['orders'], ]), $files['indexes']); - Authorization::skip(fn () => $dbForPlatform->createCollection('bucket_' . $bucket->getSequence(), $attributes, $indexes)); + $authorization->skip(fn () => $dbForPlatform->createCollection('bucket_' . $bucket->getSequence(), $attributes, $indexes)); } }); @@ -454,8 +455,12 @@ $http->on(Constant::EVENT_REQUEST, function (SwooleRequest $swooleRequest, Swool App::setResource('pools', fn () => $pools); try { - Authorization::cleanRoles(); - Authorization::setRole(Role::any()->toString()); + $authorization = $app->getResource('authorization'); + + $request->setAuthorization($authorization); + $response->setAuthorization($authorization); + $authorization->cleanRoles(); + $authorization->addRole(Role::any()->toString()); $app->run($request, $response); } catch (\Throwable $th) { @@ -497,7 +502,7 @@ $http->on(Constant::EVENT_REQUEST, function (SwooleRequest $swooleRequest, Swool $log->addExtra('file', $th->getFile()); $log->addExtra('line', $th->getLine()); $log->addExtra('trace', $th->getTraceAsString()); - $log->addExtra('roles', Authorization::getRoles()); + $log->addExtra('roles', isset($authorization) ? $authorization->getRoles() : []); $sdk = $route->getLabel("sdk", false); @@ -556,7 +561,7 @@ $http->on(Constant::EVENT_TASK, function () use ($register, $domains) { /** @var Utopia\Database\Database $dbForPlatform */ $dbForPlatform = $app->getResource('dbForPlatform'); - Timer::tick(DOMAIN_SYNC_TIMER * 1000, function () use ($dbForPlatform, $domains, &$lastSyncUpdate) { + Timer::tick(DOMAIN_SYNC_TIMER * 1000, function () use ($dbForPlatform, $domains, &$lastSyncUpdate, $app) { try { $time = DateTime::now(); $limit = 1000; @@ -573,7 +578,8 @@ $http->on(Constant::EVENT_TASK, function () use ($register, $domains) { } $results = []; try { - $results = Authorization::skip(fn () => $dbForPlatform->find('rules', $queries)); + $authorization = $app->getResource('authorization'); + $results = $authorization->skip(fn () => $dbForPlatform->find('rules', $queries)); } catch (Throwable $th) { Console::error($th->getMessage()); } diff --git a/app/init/database/filters.php b/app/init/database/filters.php index c4cfd1ac81..c065bf0d82 100644 --- a/app/init/database/filters.php +++ b/app/init/database/filters.php @@ -4,7 +4,6 @@ use Appwrite\OpenSSL\OpenSSL; use Utopia\Database\Database; use Utopia\Database\Document; use Utopia\Database\Query; -use Utopia\Database\Validator\Authorization; use Utopia\System\System; Database::addFilter( @@ -176,7 +175,7 @@ Database::addFilter( return; }, function (mixed $value, Document $document, Database $database) { - return Authorization::skip(fn () => $database->find('sessions', [ + return $database->getAuthorization()->skip(fn () => $database->find('sessions', [ Query::equal('userInternalId', [$document->getSequence()]), Query::limit(APP_LIMIT_SUBQUERY), ])); @@ -189,7 +188,7 @@ Database::addFilter( return; }, function (mixed $value, Document $document, Database $database) { - return Authorization::skip(fn () => $database + return $database->getAuthorization()->skip(fn () => $database ->find('tokens', [ Query::equal('userInternalId', [$document->getSequence()]), Query::limit(APP_LIMIT_SUBQUERY), @@ -203,7 +202,7 @@ Database::addFilter( return; }, function (mixed $value, Document $document, Database $database) { - return Authorization::skip(fn () => $database + return $database->getAuthorization()->skip(fn () => $database ->find('challenges', [ Query::equal('userInternalId', [$document->getSequence()]), Query::limit(APP_LIMIT_SUBQUERY), @@ -217,7 +216,7 @@ Database::addFilter( return; }, function (mixed $value, Document $document, Database $database) { - return Authorization::skip(fn () => $database + return $database->getAuthorization()->skip(fn () => $database ->find('authenticators', [ Query::equal('userInternalId', [$document->getSequence()]), Query::limit(APP_LIMIT_SUBQUERY), @@ -231,7 +230,7 @@ Database::addFilter( return; }, function (mixed $value, Document $document, Database $database) { - return Authorization::skip(fn () => $database + return $database->getAuthorization()->skip(fn () => $database ->find('memberships', [ Query::equal('userInternalId', [$document->getSequence()]), Query::limit(APP_LIMIT_SUBQUERY), @@ -331,7 +330,7 @@ Database::addFilter( return; }, function (mixed $value, Document $document, Database $database) { - return Authorization::skip(fn () => $database + return $database->getAuthorization()->skip(fn () => $database ->find('targets', [ Query::equal('userInternalId', [$document->getSequence()]), Query::limit(APP_LIMIT_SUBQUERY) @@ -345,7 +344,7 @@ Database::addFilter( return; }, function (mixed $value, Document $document, Database $database) { - $targetIds = Authorization::skip(fn () => \array_map( + $targetIds = $database->getAuthorization()->skip(fn () => \array_map( fn ($document) => $document->getAttribute('targetInternalId'), $database->find('subscribers', [ Query::equal('topicInternalId', [$document->getSequence()]), diff --git a/app/init/resources.php b/app/init/resources.php index 0892da8a82..8b111e950c 100644 --- a/app/init/resources.php +++ b/app/init/resources.php @@ -152,7 +152,7 @@ App::setResource('queueForMigrations', function (Publisher $publisher) { App::setResource('queueForStatsResources', function (Publisher $publisher) { return new StatsResources($publisher); }, ['publisher']); -App::setResource('platforms', function (Request $request, Document $console, Document $project, Database $dbForPlatform) { +App::setResource('platforms', function (Request $request, Document $console, Document $project, Database $dbForPlatform, Authorization $authorization) { $console->setAttribute('platforms', [ // Always allow current host '$collection' => ID::custom('platforms'), 'name' => 'Current Host', @@ -200,9 +200,9 @@ App::setResource('platforms', function (Request $request, Document $console, Doc // Safe if rule with same project ID exists if (!empty($origin)) { if (System::getEnv('_APP_RULES_FORMAT') === 'md5') { - $rule = Authorization::skip(fn () => $dbForPlatform->getDocument('rules', md5($origin ?? ''))); + $rule = $authorization->skip(fn () => $dbForPlatform->getDocument('rules', md5($origin ?? ''))); } else { - $rule = Authorization::skip( + $rule = $authorization->skip( fn () => $dbForPlatform->find('rules', [ Query::equal('domain', [$origin]), Query::limit(1) @@ -224,17 +224,18 @@ App::setResource('platforms', function (Request $request, Document $console, Doc ...$console->getAttribute('platforms', []), ...$project->getAttribute('platforms', []), ]; -}, ['request', 'console', 'project', 'dbForPlatform']); +}, ['request', 'console', 'project', 'dbForPlatform', 'authorization']); -App::setResource('user', function ($mode, $project, $console, $request, $response, $dbForProject, $dbForPlatform) { +App::setResource('user', function ($mode, $project, $console, $request, $response, $dbForProject, $dbForPlatform, $authorization) { /** @var Appwrite\Utopia\Request $request */ /** @var Appwrite\Utopia\Response $response */ /** @var Utopia\Database\Document $project */ /** @var Utopia\Database\Database $dbForProject */ /** @var Utopia\Database\Database $dbForPlatform */ + /** @var Utopia\Database\Authorization $authorization */ /** @var string $mode */ - Authorization::setDefaultStatus(true); + $authorization->setDefaultStatus(true); Auth::setCookieName('a_session_' . $project->getId()); @@ -298,7 +299,7 @@ App::setResource('user', function ($mode, $project, $console, $request, $respons // if (APP_MODE_ADMIN === $mode) { // if ($user->find('teamInternalId', $project->getAttribute('teamInternalId'), 'memberships')) { - // Authorization::setDefaultStatus(false); // Cancel security segmentation for admin users. + // $authorization->setDefaultStatus(false); // Cancel security segmentation for admin users. // } else { // $user = new Document([]); // } @@ -336,9 +337,9 @@ App::setResource('user', function ($mode, $project, $console, $request, $respons $dbForPlatform->setMetadata('user', $user->getId()); return $user; -}, ['mode', 'project', 'console', 'request', 'response', 'dbForProject', 'dbForPlatform']); +}, ['mode', 'project', 'console', 'request', 'response', 'dbForProject', 'dbForPlatform', 'authorization']); -App::setResource('project', function ($dbForPlatform, $request, $console) { +App::setResource('project', function ($dbForPlatform, $request, $console, $authorization) { /** @var Appwrite\Utopia\Request $request */ /** @var Utopia\Database\Database $dbForPlatform */ /** @var Utopia\Database\Document $console */ @@ -349,10 +350,10 @@ App::setResource('project', function ($dbForPlatform, $request, $console) { return $console; } - $project = Authorization::skip(fn () => $dbForPlatform->getDocument('projects', $projectId)); + $project = $authorization->skip(fn () => $dbForPlatform->getDocument('projects', $projectId)); return $project; -}, ['dbForPlatform', 'request', 'console']); +}, ['dbForPlatform', 'request', 'console', 'authorization']); App::setResource('session', function (Document $user) { if ($user->isEmpty()) { @@ -379,7 +380,11 @@ App::setResource('console', function () { return new Document(Config::getParam('console')); }, []); -App::setResource('dbForProject', function (Group $pools, Database $dbForPlatform, Cache $cache, Document $project) { +App::setResource('authorization', function () { + return new Authorization(); +}, []); + +App::setResource('dbForProject', function (Group $pools, Database $dbForPlatform, Cache $cache, Document $project, Authorization $authorization) { if ($project->isEmpty() || $project->getId() === 'console') { return $dbForPlatform; } @@ -395,6 +400,7 @@ App::setResource('dbForProject', function (Group $pools, Database $dbForPlatform $database = new Database($adapter, $cache); $database + ->setAuthorization($authorization) ->setMetadata('host', \gethostname()) ->setMetadata('project', $project->getId()) ->setTimeout(APP_DATABASE_TIMEOUT_MILLISECONDS_API) @@ -415,13 +421,15 @@ App::setResource('dbForProject', function (Group $pools, Database $dbForPlatform } return $database; -}, ['pools', 'dbForPlatform', 'cache', 'project']); +}, ['pools', 'dbForPlatform', 'cache', 'project', 'authorization']); + +App::setResource('dbForPlatform', function (Group $pools, Cache $cache, Authorization $authorization) { -App::setResource('dbForPlatform', function (Group $pools, Cache $cache) { $adapter = new DatabasePool($pools->get('console')); $database = new Database($adapter, $cache); $database + ->setAuthorization($authorization) ->setNamespace('_console') ->setMetadata('host', \gethostname()) ->setMetadata('project', 'console') @@ -429,12 +437,12 @@ App::setResource('dbForPlatform', function (Group $pools, Cache $cache) { ->setMaxQueryValues(APP_DATABASE_QUERY_MAX_VALUES); return $database; -}, ['pools', 'cache']); +}, ['pools', 'cache', 'authorization']); -App::setResource('getProjectDB', function (Group $pools, Database $dbForPlatform, $cache) { +App::setResource('getProjectDB', function (Group $pools, Database $dbForPlatform, $cache, Authorization $authorization) { $databases = []; - return function (Document $project) use ($pools, $dbForPlatform, $cache, &$databases) { + return function (Document $project) use ($pools, $dbForPlatform, $cache, $authorization, &$databases) { if ($project->isEmpty() || $project->getId() === 'console') { return $dbForPlatform; } @@ -446,8 +454,9 @@ App::setResource('getProjectDB', function (Group $pools, Database $dbForPlatform $dsn = new DSN('mysql://' . $project->getAttribute('database')); } - $configure = (function (Database $database) use ($project, $dsn) { + $configure = (function (Database $database) use ($project, $dsn, $authorization) { $database + ->setAuthorization($authorization) ->setMetadata('host', \gethostname()) ->setMetadata('project', $project->getId()) ->setTimeout(APP_DATABASE_TIMEOUT_MILLISECONDS_API) @@ -481,12 +490,12 @@ App::setResource('getProjectDB', function (Group $pools, Database $dbForPlatform return $database; }; -}, ['pools', 'dbForPlatform', 'cache']); +}, ['pools', 'dbForPlatform', 'cache', 'authorization']); -App::setResource('getLogsDB', function (Group $pools, Cache $cache) { +App::setResource('getLogsDB', function (Group $pools, Cache $cache, Authorization $authorization) { $database = null; - return function (?Document $project = null) use ($pools, $cache, &$database) { + return function (?Document $project = null) use ($pools, $cache, $authorization, &$database) { if ($database !== null && $project !== null && !$project->isEmpty() && $project->getId() !== 'console') { $database->setTenant((int) $project->getSequence()); return $database; @@ -496,6 +505,7 @@ App::setResource('getLogsDB', function (Group $pools, Cache $cache) { $database = new Database($adapter, $cache); $database + ->setAuthorization($authorization) ->setSharedTables(true) ->setNamespace('logsV1') ->setTimeout(APP_DATABASE_TIMEOUT_MILLISECONDS_API) @@ -508,7 +518,7 @@ App::setResource('getLogsDB', function (Group $pools, Cache $cache) { return $database; }; -}, ['pools', 'cache']); +}, ['pools', 'cache', 'authorization']); App::setResource('telemetry', fn () => new NoTelemetry()); @@ -702,7 +712,7 @@ App::setResource('promiseAdapter', function ($register) { return $register->get('promiseAdapter'); }, ['register']); -App::setResource('schema', function ($utopia, $dbForProject) { +App::setResource('schema', function ($utopia, $dbForProject, $authorization) { $complexity = function (int $complexity, array $args) { $queries = Query::parseQueries($args['queries'] ?? []); @@ -712,8 +722,8 @@ App::setResource('schema', function ($utopia, $dbForProject) { return $complexity * $limit; }; - $attributes = function (int $limit, int $offset) use ($dbForProject) { - $attrs = Authorization::skip(fn () => $dbForProject->find('attributes', [ + $attributes = function (int $limit, int $offset) use ($dbForProject, $authorization) { + $attrs = $authorization->skip(fn () => $dbForProject->find('attributes', [ Query::limit($limit), Query::offset($offset), ])); @@ -787,7 +797,7 @@ App::setResource('schema', function ($utopia, $dbForProject) { $urls, $params, ); -}, ['utopia', 'dbForProject']); +}, ['utopia', 'dbForProject', 'authorization']); App::setResource('contributors', function () { $path = 'app/config/contributors.json'; @@ -833,7 +843,7 @@ App::setResource('smsRates', function () { return []; }); -App::setResource('devKey', function (Request $request, Document $project, array $servers, Database $dbForPlatform) { +App::setResource('devKey', function (Request $request, Document $project, array $servers, Database $dbForPlatform, Authorization $authorization) { $devKey = $request->getHeader('x-appwrite-dev-key', $request->getParam('devKey', '')); // Check if given key match project's development keys @@ -852,7 +862,7 @@ App::setResource('devKey', function (Request $request, Document $project, array $accessedAt = $key->getAttribute('accessedAt', 0); if (empty($accessedAt) || DatabaseDateTime::formatTz(DatabaseDateTime::addSeconds(new \DateTime(), -APP_KEY_ACCESS)) > $accessedAt) { $key->setAttribute('accessedAt', DatabaseDateTime::now()); - Authorization::skip(fn () => $dbForPlatform->updateDocument('devKeys', $key->getId(), $key)); + $authorization->skip(fn () => $dbForPlatform->updateDocument('devKeys', $key->getId(), $key)); $dbForPlatform->purgeCachedDocument('projects', $project->getId()); } @@ -869,14 +879,14 @@ App::setResource('devKey', function (Request $request, Document $project, array /** Update access time as well */ $key->setAttribute('accessedAt', DatabaseDateTime::now()); - $key = Authorization::skip(fn () => $dbForPlatform->updateDocument('devKeys', $key->getId(), $key)); + $key = $authorization->skip(fn () => $dbForPlatform->updateDocument('devKeys', $key->getId(), $key)); $dbForPlatform->purgeCachedDocument('projects', $project->getId()); } } return $key; -}, ['request', 'project', 'servers', 'dbForPlatform']); +}, ['request', 'project', 'servers', 'dbForPlatform', 'authorization']); -App::setResource('team', function (Document $project, Database $dbForPlatform, App $utopia, Request $request) { +App::setResource('team', function (Document $project, Database $dbForPlatform, App $utopia, Request $request, Authorization $authorization) { $teamInternalId = ''; if ($project->getId() !== 'console') { $teamInternalId = $project->getAttribute('teamInternalId', ''); @@ -886,7 +896,7 @@ App::setResource('team', function (Document $project, Database $dbForPlatform, A if (str_starts_with($path, '/v1/projects/:projectId')) { $uri = $request->getURI(); $pid = explode('/', $uri)[3]; - $p = Authorization::skip(fn () => $dbForPlatform->getDocument('projects', $pid)); + $p = $authorization->skip(fn () => $dbForPlatform->getDocument('projects', $pid)); $teamInternalId = $p->getAttribute('teamInternalId', ''); } elseif ($path === '/v1/projects') { $teamId = $request->getParam('teamId', ''); @@ -895,7 +905,7 @@ App::setResource('team', function (Document $project, Database $dbForPlatform, A return new Document([]); } - $team = Authorization::skip(fn () => $dbForPlatform->getDocument('teams', $teamId)); + $team = $authorization->skip(fn () => $dbForPlatform->getDocument('teams', $teamId)); return $team; } } @@ -904,14 +914,14 @@ App::setResource('team', function (Document $project, Database $dbForPlatform, A return new Document([]); } - $team = Authorization::skip(function () use ($dbForPlatform, $teamInternalId) { + $team = $authorization->skip(function () use ($dbForPlatform, $teamInternalId) { return $dbForPlatform->findOne('teams', [ Query::equal('$sequence', [$teamInternalId]), ]); }); return $team; -}, ['project', 'dbForPlatform', 'utopia', 'request']); +}, ['project', 'dbForPlatform', 'utopia', 'request', 'authorization']); App::setResource( 'isResourceBlocked', @@ -949,7 +959,7 @@ App::setResource('apiKey', function (Request $request, Document $project): ?Key App::setResource('executor', fn () => new Executor()); -App::setResource('resourceToken', function ($project, $dbForProject, $request) { +App::setResource('resourceToken', function ($project, $dbForProject, $request, Authorization $authorization) { $tokenJWT = $request->getParam('token'); if (!empty($tokenJWT) && !$project->isEmpty()) { // JWT authentication @@ -966,7 +976,7 @@ App::setResource('resourceToken', function ($project, $dbForProject, $request) { return new Document([]); } - $token = Authorization::skip(fn () => $dbForProject->getDocument('resourceTokens', $tokenId)); + $token = $authorization->skip(fn () => $dbForProject->getDocument('resourceTokens', $tokenId)); if ($token->isEmpty()) { return new Document([]); @@ -984,7 +994,7 @@ App::setResource('resourceToken', function ($project, $dbForProject, $request) { } return match ($token->getAttribute('resourceType')) { - TOKENS_RESOURCE_TYPE_FILES => (function () use ($token, $dbForProject) { + TOKENS_RESOURCE_TYPE_FILES => (function () use ($token, $dbForProject, $authorization) { $sequences = explode(':', $token->getAttribute('resourceInternalId')); $ids = explode(':', $token->getAttribute('resourceId')); @@ -995,7 +1005,7 @@ App::setResource('resourceToken', function ($project, $dbForProject, $request) { $accessedAt = $token->getAttribute('accessedAt', 0); if (empty($accessedAt) || DatabaseDateTime::formatTz(DatabaseDateTime::addSeconds(new \DateTime(), -APP_RESOURCE_TOKEN_ACCESS)) > $accessedAt) { $token->setAttribute('accessedAt', DatabaseDateTime::now()); - Authorization::skip(fn () => $dbForProject->updateDocument('resourceTokens', $token->getId(), $token)); + $authorization->skip(fn () => $dbForProject->updateDocument('resourceTokens', $token->getId(), $token)); } return new Document([ @@ -1010,7 +1020,7 @@ App::setResource('resourceToken', function ($project, $dbForProject, $request) { }; } return new Document([]); -}, ['project', 'dbForProject', 'request']); +}, ['project', 'dbForProject', 'request', 'authorization']); App::setResource('httpReferrer', function (Request $request): string { $referrer = $request->getReferer(); @@ -1043,6 +1053,6 @@ App::setResource('httpReferrerSafe', function (Request $request, string $httpRef return $referrer; }, ['request', 'httpReferrer', 'platforms', 'dbForPlatform', 'project', 'utopia']); -App::setResource('transactionState', function (Database $dbForProject) { - return new TransactionState($dbForProject); -}, ['dbForProject']); +App::setResource('transactionState', function (Database $dbForProject, Authorization $authorization) { + return new TransactionState($dbForProject, $authorization); +}, ['dbForProject', 'authorization']); diff --git a/app/realtime.php b/app/realtime.php index e18ab8e10d..75aa625348 100644 --- a/app/realtime.php +++ b/app/realtime.php @@ -28,7 +28,6 @@ use Utopia\Database\Document; use Utopia\Database\Helpers\ID; use Utopia\Database\Helpers\Role; use Utopia\Database\Query; -use Utopia\Database\Validator\Authorization; use Utopia\DSN\DSN; use Utopia\Logger\Log; use Utopia\Pools\Group; @@ -299,7 +298,7 @@ $server->onStart(function () use ($stats, $register, $containerId, &$statsDocume 'value' => '{}' ]); - $statsDocument = Authorization::skip(fn () => $database->createDocument('realtime', $document)); + $statsDocument = $database->getAuthorization()->skip(fn () => $database->createDocument('realtime', $document)); break; } catch (Throwable) { Console::warning("Collection not ready. Retrying connection ({$attempts})..."); @@ -329,7 +328,7 @@ $server->onStart(function () use ($stats, $register, $containerId, &$statsDocume ->setAttribute('timestamp', DateTime::now()) ->setAttribute('value', json_encode($payload)); - Authorization::skip(fn () => $database->updateDocument('realtime', $statsDocument->getId(), $statsDocument)); + $database->getAuthorization()->skip(fn () => $database->updateDocument('realtime', $statsDocument->getId(), $statsDocument)); } catch (Throwable $th) { $logError($th, "updateWorkerDocument"); } @@ -360,7 +359,7 @@ $server->onWorkerStart(function (int $workerId) use ($server, $register, $stats, $payload = []; - $list = Authorization::skip(fn () => $database->find('realtime', [ + $list = $database->getAuthorization()->skip(fn () => $database->find('realtime', [ Query::greaterThan('timestamp', DateTime::addSeconds(new \DateTime(), -15)), ])); @@ -454,12 +453,11 @@ $server->onWorkerStart(function (int $workerId) use ($server, $register, $stats, if ($realtime->hasSubscriber($projectId, 'user:' . $userId)) { $connection = array_key_first(reset($realtime->subscriptions[$projectId]['user:' . $userId])); $consoleDatabase = getConsoleDB(); - $project = Authorization::skip(fn () => $consoleDatabase->getDocument('projects', $projectId)); + $project = $consoleDatabase->getAuthorization()->skip(fn () => $consoleDatabase->getDocument('projects', $projectId)); $database = getProjectDB($project); $user = $database->getDocument('users', $userId); - - $roles = Auth::getRoles($user); + $roles = Auth::getRoles($user, $database->getAuthorization()); $channels = $realtime->connections[$connection]['channels']; $realtime->unsubscribe($connection); @@ -515,6 +513,7 @@ $server->onOpen(function (int $connection, SwooleRequest $request) use ($server, try { /** @var Document $project */ $project = $app->getResource('project'); + $authorization = $app->getResource('authorization'); /* * Project Check @@ -526,7 +525,7 @@ $server->onOpen(function (int $connection, SwooleRequest $request) use ($server, if ( array_key_exists('realtime', $project->getAttribute('apis', [])) && !$project->getAttribute('apis', [])['realtime'] - && !(Auth::isPrivilegedUser(Authorization::getRoles()) || Auth::isAppUser(Authorization::getRoles())) + && !(Auth::isPrivilegedUser($authorization->getRoles()) || Auth::isAppUser($authorization->getRoles())) ) { throw new AppwriteException(AppwriteException::GENERAL_API_DISABLED); } @@ -563,7 +562,7 @@ $server->onOpen(function (int $connection, SwooleRequest $request) use ($server, throw new Exception(Exception::REALTIME_POLICY_VIOLATION, $originValidator->getDescription()); } - $roles = Auth::getRoles($user); + $roles = Auth::getRoles($user, $authorization); $channels = Realtime::convertChannels($request->getQuery('channels', []), $user->getId()); @@ -637,8 +636,8 @@ $server->onMessage(function (int $connection, string $message) use ($server, $re $database = getConsoleDB(); if ($projectId !== 'console') { - $project = Authorization::skip(fn () => $database->getDocument('projects', $projectId)); - $database = getProjectDB($project); + $project = $database->getAuthorization()->skip(fn () => $database->getDocument('projects', $projectId)); + $database = getProjectDB($project, $database->getAuthorization()); } else { $project = null; } @@ -692,7 +691,7 @@ $server->onMessage(function (int $connection, string $message) use ($server, $re throw new Exception(Exception::REALTIME_MESSAGE_FORMAT_INVALID, 'Session is not valid.'); } - $roles = Auth::getRoles($user); + $roles = Auth::getRoles($user, $database->getAuthorization()); $channels = Realtime::convertChannels(array_flip($realtime->connections[$connection]['channels']), $user->getId()); $realtime->subscribe($realtime->connections[$connection]['projectId'], $connection, $roles, $channels); diff --git a/app/worker.php b/app/worker.php index 60f44ab33f..ef04ffec05 100644 --- a/app/worker.php +++ b/app/worker.php @@ -45,19 +45,28 @@ use Utopia\System\System; use Utopia\Telemetry\Adapter as Telemetry; use Utopia\Telemetry\Adapter\None as NoTelemetry; -Authorization::disable(); Runtime::enableCoroutine(); Server::setResource('register', fn () => $register); -Server::setResource('dbForPlatform', function (Cache $cache, Registry $register) { +Server::setResource('authorization', function () { + $authorization = new Authorization(); + $authorization->disable(); + return $authorization; +}, []); + +Server::setResource('dbForPlatform', function (Cache $cache, Registry $register, Authorization $authorization) { $pools = $register->get('pools'); $adapter = new DatabasePool($pools->get('console')); $dbForPlatform = new Database($adapter, $cache); - $dbForPlatform->setNamespace('_console'); + + $dbForPlatform + ->setAuthorization($authorization) + ->setNamespace('_console'); + return $dbForPlatform; -}, ['cache', 'register']); +}, ['cache', 'register', 'authorization']); Server::setResource('project', function (Message $message, Database $dbForPlatform) { $payload = $message->getPayload() ?? []; @@ -70,7 +79,7 @@ Server::setResource('project', function (Message $message, Database $dbForPlatfo return $dbForPlatform->getDocument('projects', $project->getId()); }, ['message', 'dbForPlatform']); -Server::setResource('dbForProject', function (Cache $cache, Registry $register, Message $message, Document $project, Database $dbForPlatform) { +Server::setResource('dbForProject', function (Cache $cache, Registry $register, Message $message, Document $project, Database $dbForPlatform, Authorization $authorization) { if ($project->isEmpty() || $project->getId() === 'console') { return $dbForPlatform; } @@ -101,15 +110,17 @@ Server::setResource('dbForProject', function (Cache $cache, Registry $register, ->setNamespace('_' . $project->getSequence()); } - $database->setTimeout(APP_DATABASE_TIMEOUT_MILLISECONDS_WORKER); + $database + ->setAuthorization($authorization) + ->setTimeout(APP_DATABASE_TIMEOUT_MILLISECONDS_WORKER); return $database; -}, ['cache', 'register', 'message', 'project', 'dbForPlatform']); +}, ['cache', 'register', 'message', 'project', 'dbForPlatform', 'authorization']); -Server::setResource('getProjectDB', function (Group $pools, Database $dbForPlatform, $cache) { +Server::setResource('getProjectDB', function (Group $pools, Database $dbForPlatform, $cache, Authorization $authorization) { $databases = []; // TODO: @Meldiron This should probably be responsibility of utopia-php/pools - return function (Document $project) use ($pools, $dbForPlatform, $cache, &$databases): Database { + return function (Document $project) use ($pools, $dbForPlatform, $cache, $authorization, &$databases): Database { if ($project->isEmpty() || $project->getId() === 'console') { return $dbForPlatform; } @@ -123,7 +134,7 @@ Server::setResource('getProjectDB', function (Group $pools, Database $dbForPlatf if (isset($databases[$dsn->getHost()])) { $database = $databases[$dsn->getHost()]; - + $database->setAuthorization($authorization); $sharedTables = \explode(',', System::getEnv('_APP_DATABASE_SHARED_TABLES', '')); if (\in_array($dsn->getHost(), $sharedTables)) { @@ -160,15 +171,17 @@ Server::setResource('getProjectDB', function (Group $pools, Database $dbForPlatf ->setNamespace('_' . $project->getSequence()); } - $database->setTimeout(APP_DATABASE_TIMEOUT_MILLISECONDS_WORKER); + $database + ->setAuthorization($authorization) + ->setTimeout(APP_DATABASE_TIMEOUT_MILLISECONDS_WORKER); return $database; }; -}, ['pools', 'dbForPlatform', 'cache']); +}, ['pools', 'dbForPlatform', 'cache', 'authorization']); -Server::setResource('getLogsDB', function (Group $pools, Cache $cache) { +Server::setResource('getLogsDB', function (Group $pools, Cache $cache, Authorization $authorization) { $database = null; - return function (?Document $project = null) use ($pools, $cache, $database) { + return function (?Document $project = null) use ($pools, $cache, $database, $authorization) { if ($database !== null && $project !== null && !$project->isEmpty() && $project->getId() !== 'console') { $database->setTenant((int)$project->getSequence()); return $database; @@ -178,6 +191,7 @@ Server::setResource('getLogsDB', function (Group $pools, Cache $cache) { $database = new Database($adapter, $cache); $database + ->setAuthorization($authorization) ->setSharedTables(true) ->setNamespace('logsV1') ->setTimeout(APP_DATABASE_TIMEOUT_MILLISECONDS_WORKER) @@ -190,7 +204,7 @@ Server::setResource('getLogsDB', function (Group $pools, Cache $cache) { return $database; }; -}, ['pools', 'cache']); +}, ['pools', 'cache', 'authorization']); Server::setResource('abuseRetention', function () { return time() - (int) System::getEnv('_APP_MAINTENANCE_RETENTION_ABUSE', 86400); // 1 day @@ -478,7 +492,8 @@ $worker ->inject('log') ->inject('pools') ->inject('project') - ->action(function (Throwable $error, ?Logger $logger, Log $log, Group $pools, Document $project) use ($worker, $queueName) { + ->inject('authorization') + ->action(function (Throwable $error, ?Logger $logger, Log $log, Group $pools, Document $project, Authorization $authorization) use ($worker, $queueName) { $version = System::getEnv('_APP_VERSION', 'UNKNOWN'); if ($logger) { @@ -494,7 +509,7 @@ $worker $log->addExtra('file', $error->getFile()); $log->addExtra('line', $error->getLine()); $log->addExtra('trace', $error->getTraceAsString()); - $log->addExtra('roles', Authorization::getRoles()); + $log->addExtra('roles', $authorization->getRoles()); $isProduction = System::getEnv('_APP_ENV', 'development') === 'production'; $log->setEnvironment($isProduction ? Log::ENVIRONMENT_PRODUCTION : Log::ENVIRONMENT_STAGING); diff --git a/composer.json b/composer.json index 684beb870a..42a3d687b6 100644 --- a/composer.json +++ b/composer.json @@ -51,7 +51,7 @@ "utopia-php/cache": "0.13.*", "utopia-php/cli": "0.15.*", "utopia-php/config": "1.*.*", - "utopia-php/database": "3.*", + "utopia-php/database": "4.*", "utopia-php/detector": "0.2.*", "utopia-php/domains": "0.9.*", "utopia-php/emails": "0.6.*", diff --git a/src/Appwrite/Auth/Auth.php b/src/Appwrite/Auth/Auth.php index 9af5045fa4..b6676a2843 100644 --- a/src/Appwrite/Auth/Auth.php +++ b/src/Appwrite/Auth/Auth.php @@ -453,11 +453,11 @@ class Auth * @param Document $user * @return array */ - public static function getRoles(Document $user): array + public static function getRoles(Document $user, Authorization $authorization): array { $roles = []; - if (!self::isPrivilegedUser(Authorization::getRoles()) && !self::isAppUser(Authorization::getRoles())) { + if (!self::isPrivilegedUser($authorization->getRoles()) && !self::isAppUser($authorization->getRoles())) { if ($user->getId()) { $roles[] = Role::user($user->getId())->toString(); $roles[] = Role::users()->toString(); diff --git a/src/Appwrite/Databases/TransactionState.php b/src/Appwrite/Databases/TransactionState.php index 23dc6fc2e9..8e098774e6 100644 --- a/src/Appwrite/Databases/TransactionState.php +++ b/src/Appwrite/Databases/TransactionState.php @@ -20,10 +20,12 @@ use Utopia\Database\Validator\Authorization; class TransactionState { private Database $dbForProject; - - public function __construct(Database $dbForProject) + private Authorization $authorization; + /** @var Authorization $authorization */ + public function __construct(Database $dbForProject, Authorization $authorization) { $this->dbForProject = $dbForProject; + $this->authorization = $authorization; } @@ -342,12 +344,12 @@ class TransactionState */ private function getTransactionState(string $transactionId): array { - $transaction = Authorization::skip(fn () => $this->dbForProject->getDocument('transactions', $transactionId)); + $transaction = $this->authorization->skip(fn () => $this->dbForProject->getDocument('transactions', $transactionId)); if ($transaction->isEmpty() || $transaction->getAttribute('status') !== 'pending') { return []; } - $operations = Authorization::skip(fn () => $this->dbForProject->find('transactionLogs', [ + $operations = $this->authorization->skip(fn () => $this->dbForProject->find('transactionLogs', [ Query::equal('transactionInternalId', [$transaction->getSequence()]), Query::orderAsc(), Query::limit(PHP_INT_MAX) diff --git a/src/Appwrite/Migration/Migration.php b/src/Appwrite/Migration/Migration.php index 588b193df4..4d2db6a3dc 100644 --- a/src/Appwrite/Migration/Migration.php +++ b/src/Appwrite/Migration/Migration.php @@ -99,8 +99,6 @@ abstract class Migration public function __construct() { - Authorization::disable(); - Authorization::setDefaultStatus(false); $this->collections = Config::getParam('collections', []); @@ -128,6 +126,7 @@ abstract class Migration Document $project, Database $dbForProject, Database $dbForPlatform, + Authorization $authorization, ?callable $getProjectDB = null ): self { $this->project = $project; @@ -135,6 +134,9 @@ abstract class Migration $this->dbForPlatform = $dbForPlatform; $this->getProjectDB = $getProjectDB; + $authorization->disable(); + $authorization->setDefaultStatus(false); + return $this; } diff --git a/src/Appwrite/Platform/Modules/Compute/Base.php b/src/Appwrite/Platform/Modules/Compute/Base.php index cc9b403925..78c2492a9b 100644 --- a/src/Appwrite/Platform/Modules/Compute/Base.php +++ b/src/Appwrite/Platform/Modules/Compute/Base.php @@ -145,7 +145,7 @@ class Base extends Action return $deployment; } - public function redeployVcsSite(Request $request, Document $site, Document $project, Document $installation, Database $dbForProject, Database $dbForPlatform, Build $queueForBuilds, Document $template, GitHub $github, bool $activate, string $referenceType = 'branch', string $reference = ''): Document + public function redeployVcsSite(Request $request, Document $site, Document $project, Document $installation, Database $dbForProject, Database $dbForPlatform, Build $queueForBuilds, Document $template, GitHub $github, bool $activate, Authorization $authorization, string $referenceType = 'branch', string $reference = ''): Document { $deploymentId = ID::unique(); $providerInstallationId = $installation->getAttribute('providerInstallationId', ''); @@ -241,7 +241,7 @@ class Base extends Action // TODO: @christyjacob remove once we migrate the rules in 1.7.x $ruleId = System::getEnv('_APP_RULES_FORMAT') === 'md5' ? md5($domain) : ID::unique(); - Authorization::skip( + $authorization->skip( fn () => $dbForPlatform->createDocument('rules', new Document([ '$id' => $ruleId, 'projectId' => $project->getId(), @@ -267,7 +267,7 @@ class Base extends Action $domain = "commit-" . substr($commitDetails['commitHash'], 0, 16) . ".{$sitesDomain}"; $ruleId = md5($domain); try { - Authorization::skip( + $authorization->skip( fn () => $dbForPlatform->createDocument('rules', new Document([ '$id' => $ruleId, 'projectId' => $project->getId(), @@ -304,7 +304,7 @@ class Base extends Action $domain = "branch-{$branchPrefix}-{$resourceProjectHash}.{$sitesDomain}"; $ruleId = md5($domain); try { - Authorization::skip( + $authorization->skip( fn () => $dbForPlatform->createDocument('rules', new Document([ '$id' => $ruleId, 'projectId' => $project->getId(), diff --git a/src/Appwrite/Platform/Modules/Console/Http/Resources/Get.php b/src/Appwrite/Platform/Modules/Console/Http/Resources/Get.php index b67a42adb1..a0f8e9421e 100644 --- a/src/Appwrite/Platform/Modules/Console/Http/Resources/Get.php +++ b/src/Appwrite/Platform/Modules/Console/Http/Resources/Get.php @@ -59,6 +59,7 @@ class Get extends Action ->param('type', '', new WhiteList(['rules']), 'Resource type.') ->inject('response') ->inject('dbForPlatform') + ->inject('authorization') ->callback($this->action(...)); } @@ -66,7 +67,8 @@ class Get extends Action string $value, string $type, Response $response, - Database $dbForPlatform + Database $dbForPlatform, + Authorization $authorization ) { if ($type === 'rules') { $sitesDomain = System::getEnv('_APP_DOMAIN_SITES', ''); @@ -124,7 +126,7 @@ class Get extends Action throw new Exception(Exception::GENERAL_ARGUMENT_INVALID, 'Domain may not start with http:// or https://.'); } - $document = Authorization::skip(fn () => $dbForPlatform->findOne('rules', [ + $document = $authorization->skip(fn () => $dbForPlatform->findOne('rules', [ Query::equal('domain', [$value]), ])); diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Action.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Action.php index 48124e2a11..6c5305f299 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Action.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Action.php @@ -292,7 +292,7 @@ abstract class Action extends UtopiaAction }; } - protected function createAttribute(string $databaseId, string $collectionId, Document $attribute, Response $response, Database $dbForProject, EventDatabase $queueForDatabase, Event $queueForEvents): Document + protected function createAttribute(string $databaseId, string $collectionId, Document $attribute, Response $response, Database $dbForProject, EventDatabase $queueForDatabase, Event $queueForEvents, Authorization $authorization): Document { $key = $attribute->getAttribute('key'); $type = $attribute->getAttribute('type', ''); @@ -310,7 +310,7 @@ abstract class Action extends UtopiaAction throw new Exception($this->getSpatialTypeNotSupportedException()); } - $db = Authorization::skip(fn () => $dbForProject->getDocument('databases', $databaseId)); + $db = $authorization->skip(fn () => $dbForProject->getDocument('databases', $databaseId)); if ($db->isEmpty()) { throw new Exception(Exception::DATABASE_NOT_FOUND); @@ -371,7 +371,7 @@ abstract class Action extends UtopiaAction \in_array($attribute->getAttribute('type'), Database::SPATIAL_TYPES) && $attribute->getAttribute('required') ) { - $hasData = !Authorization::skip(fn () => $dbForProject + $hasData = !$authorization->skip(fn () => $dbForProject ->findOne('database_' . $db->getSequence() . '_collection_' . $collection->getSequence())) ->isEmpty(); @@ -472,9 +472,9 @@ abstract class Action extends UtopiaAction return $attribute; } - protected function updateAttribute(string $databaseId, string $collectionId, string $key, Database $dbForProject, Event $queueForEvents, string $type, int $size = null, string $filter = null, string|bool|int|float|array $default = null, bool $required = null, int|float|null $min = null, int|float|null $max = null, array $elements = null, array $options = [], string $newKey = null): Document + protected function updateAttribute(string $databaseId, string $collectionId, string $key, Database $dbForProject, Event $queueForEvents, Authorization $authorization, string $type, int $size = null, string $filter = null, string|bool|int|float|array $default = null, bool $required = null, int|float|null $min = null, int|float|null $max = null, array $elements = null, array $options = [], string $newKey = null): Document { - $db = Authorization::skip(fn () => $dbForProject->getDocument('databases', $databaseId)); + $db = $authorization->skip(fn () => $dbForProject->getDocument('databases', $databaseId)); if ($db->isEmpty()) { throw new Exception(Exception::DATABASE_NOT_FOUND); diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Boolean/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Boolean/Create.php index 8dfe80a390..4f233fcdb4 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Boolean/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Boolean/Create.php @@ -12,6 +12,7 @@ use Appwrite\SDK\Response as SDKResponse; use Appwrite\Utopia\Response as UtopiaResponse; use Utopia\Database\Database; use Utopia\Database\Document; +use Utopia\Database\Validator\Authorization; use Utopia\Database\Validator\Key; use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; @@ -69,10 +70,11 @@ class Create extends Action ->inject('dbForProject') ->inject('queueForDatabase') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } - public function action(string $databaseId, string $collectionId, string $key, ?bool $required, ?bool $default, bool $array, UtopiaResponse $response, Database $dbForProject, EventDatabase $queueForDatabase, Event $queueForEvents): void + public function action(string $databaseId, string $collectionId, string $key, ?bool $required, ?bool $default, bool $array, UtopiaResponse $response, Database $dbForProject, EventDatabase $queueForDatabase, Event $queueForEvents, Authorization $authorization): void { $attribute = $this->createAttribute($databaseId, $collectionId, new Document([ 'key' => $key, @@ -81,7 +83,7 @@ class Create extends Action 'required' => $required, 'default' => $default, 'array' => $array, - ]), $response, $dbForProject, $queueForDatabase, $queueForEvents); + ]), $response, $dbForProject, $queueForDatabase, $queueForEvents, $authorization); $response ->setStatusCode(SwooleResponse::STATUS_CODE_ACCEPTED) diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Boolean/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Boolean/Update.php index ddb01ff011..27a3622fe2 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Boolean/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Boolean/Update.php @@ -11,6 +11,7 @@ use Appwrite\SDK\Method; use Appwrite\SDK\Response as SDKResponse; use Appwrite\Utopia\Response as UtopiaResponse; use Utopia\Database\Database; +use Utopia\Database\Validator\Authorization; use Utopia\Database\Validator\Key; use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; @@ -68,10 +69,11 @@ class Update extends Action ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } - public function action(string $databaseId, string $collectionId, string $key, ?bool $required, ?bool $default, ?string $newKey, UtopiaResponse $response, Database $dbForProject, Event $queueForEvents): void + public function action(string $databaseId, string $collectionId, string $key, ?bool $required, ?bool $default, ?string $newKey, UtopiaResponse $response, Database $dbForProject, Event $queueForEvents, Authorization $authorization): void { $attribute = $this->updateAttribute( databaseId: $databaseId, @@ -79,6 +81,7 @@ class Update extends Action key: $key, dbForProject: $dbForProject, queueForEvents: $queueForEvents, + authorization: $authorization, type: Database::VAR_BOOLEAN, default: $default, required: $required, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Datetime/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Datetime/Create.php index d0f45dc664..d96314855c 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Datetime/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Datetime/Create.php @@ -12,6 +12,7 @@ use Appwrite\SDK\Response as SDKResponse; use Appwrite\Utopia\Response as UtopiaResponse; use Utopia\Database\Database; use Utopia\Database\Document; +use Utopia\Database\Validator\Authorization; use Utopia\Database\Validator\Datetime as DatetimeValidator; use Utopia\Database\Validator\Key; use Utopia\Database\Validator\UID; @@ -70,10 +71,11 @@ class Create extends Action ->inject('dbForProject') ->inject('queueForDatabase') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } - public function action(string $databaseId, string $collectionId, string $key, ?bool $required, ?string $default, bool $array, UtopiaResponse $response, Database $dbForProject, EventDatabase $queueForDatabase, Event $queueForEvents): void + public function action(string $databaseId, string $collectionId, string $key, ?bool $required, ?string $default, bool $array, UtopiaResponse $response, Database $dbForProject, EventDatabase $queueForDatabase, Event $queueForEvents, Authorization $authorization): void { $attribute = $this->createAttribute( $databaseId, @@ -90,7 +92,8 @@ class Create extends Action $response, $dbForProject, $queueForDatabase, - $queueForEvents + $queueForEvents, + $authorization ); $response diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Datetime/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Datetime/Update.php index 1a30a09867..bdf38a5087 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Datetime/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Datetime/Update.php @@ -11,6 +11,7 @@ use Appwrite\SDK\Method; use Appwrite\SDK\Response as SDKResponse; use Appwrite\Utopia\Response as UtopiaResponse; use Utopia\Database\Database; +use Utopia\Database\Validator\Authorization; use Utopia\Database\Validator\Datetime as DatetimeValidator; use Utopia\Database\Validator\Key; use Utopia\Database\Validator\UID; @@ -69,10 +70,11 @@ class Update extends Action ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } - public function action(string $databaseId, string $collectionId, string $key, ?bool $required, ?string $default, ?string $newKey, UtopiaResponse $response, Database $dbForProject, Event $queueForEvents): void + public function action(string $databaseId, string $collectionId, string $key, ?bool $required, ?string $default, ?string $newKey, UtopiaResponse $response, Database $dbForProject, Event $queueForEvents, Authorization $authorization): void { $attribute = $this->updateAttribute( databaseId: $databaseId, @@ -80,6 +82,7 @@ class Update extends Action key: $key, dbForProject: $dbForProject, queueForEvents: $queueForEvents, + authorization: $authorization, type: Database::VAR_DATETIME, default: $default, required: $required, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Delete.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Delete.php index eb51044323..07ab604a5a 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Delete.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Delete.php @@ -67,12 +67,13 @@ class Delete extends Action ->inject('dbForProject') ->inject('queueForDatabase') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } - public function action(string $databaseId, string $collectionId, string $key, UtopiaResponse $response, Database $dbForProject, EventDatabase $queueForDatabase, Event $queueForEvents): void + public function action(string $databaseId, string $collectionId, string $key, UtopiaResponse $response, Database $dbForProject, EventDatabase $queueForDatabase, Event $queueForEvents, Authorization $authorization): void { - $db = Authorization::skip(fn () => $dbForProject->getDocument('databases', $databaseId)); + $db = $authorization->skip(fn () => $dbForProject->getDocument('databases', $databaseId)); if ($db->isEmpty()) { throw new Exception(Exception::DATABASE_NOT_FOUND); } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Email/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Email/Create.php index 9f4c38d490..eed105e583 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Email/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Email/Create.php @@ -13,6 +13,7 @@ use Appwrite\SDK\Response as SDKResponse; use Appwrite\Utopia\Response as UtopiaResponse; use Utopia\Database\Database; use Utopia\Database\Document; +use Utopia\Database\Validator\Authorization; use Utopia\Database\Validator\Key; use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; @@ -70,10 +71,11 @@ class Create extends Action ->inject('dbForProject') ->inject('queueForDatabase') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } - public function action(string $databaseId, string $collectionId, string $key, ?bool $required, ?string $default, bool $array, UtopiaResponse $response, Database $dbForProject, EventDatabase $queueForDatabase, Event $queueForEvents): void + public function action(string $databaseId, string $collectionId, string $key, ?bool $required, ?string $default, bool $array, UtopiaResponse $response, Database $dbForProject, EventDatabase $queueForDatabase, Event $queueForEvents, Authorization $authorization): void { $attribute = $this->createAttribute( $databaseId, @@ -90,7 +92,8 @@ class Create extends Action $response, $dbForProject, $queueForDatabase, - $queueForEvents + $queueForEvents, + $authorization ); $response diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Email/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Email/Update.php index 59a0490e6f..d9cbb5ba80 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Email/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Email/Update.php @@ -12,6 +12,7 @@ use Appwrite\SDK\Method; use Appwrite\SDK\Response as SDKResponse; use Appwrite\Utopia\Response as UtopiaResponse; use Utopia\Database\Database; +use Utopia\Database\Validator\Authorization; use Utopia\Database\Validator\Key; use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; @@ -69,10 +70,11 @@ class Update extends Action ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } - public function action(string $databaseId, string $collectionId, string $key, ?bool $required, ?string $default, ?string $newKey, UtopiaResponse $response, Database $dbForProject, Event $queueForEvents): void + public function action(string $databaseId, string $collectionId, string $key, ?bool $required, ?string $default, ?string $newKey, UtopiaResponse $response, Database $dbForProject, Event $queueForEvents, Authorization $authorization): void { $attribute = $this->updateAttribute( databaseId: $databaseId, @@ -80,6 +82,7 @@ class Update extends Action key: $key, dbForProject: $dbForProject, queueForEvents: $queueForEvents, + authorization: $authorization, type: Database::VAR_STRING, filter: APP_DATABASE_ATTRIBUTE_EMAIL, default: $default, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Enum/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Enum/Create.php index d2ccf9f972..fb82dfd478 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Enum/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Enum/Create.php @@ -13,6 +13,7 @@ use Appwrite\SDK\Response as SDKResponse; use Appwrite\Utopia\Response as UtopiaResponse; use Utopia\Database\Database; use Utopia\Database\Document; +use Utopia\Database\Validator\Authorization; use Utopia\Database\Validator\Key; use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; @@ -73,10 +74,11 @@ class Create extends Action ->inject('dbForProject') ->inject('queueForDatabase') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } - public function action(string $databaseId, string $collectionId, string $key, array $elements, ?bool $required, ?string $default, bool $array, UtopiaResponse $response, Database $dbForProject, EventDatabase $queueForDatabase, Event $queueForEvents): void + public function action(string $databaseId, string $collectionId, string $key, array $elements, ?bool $required, ?string $default, bool $array, UtopiaResponse $response, Database $dbForProject, EventDatabase $queueForDatabase, Event $queueForEvents, Authorization $authorization): void { if (!is_null($default) && !\in_array($default, $elements, true)) { throw new Exception($this->getInvalidValueException(), 'Default value not found in elements'); @@ -98,7 +100,8 @@ class Create extends Action $response, $dbForProject, $queueForDatabase, - $queueForEvents + $queueForEvents, + $authorization ); $response diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Enum/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Enum/Update.php index 560107dd38..31984d5f43 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Enum/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Enum/Update.php @@ -11,6 +11,7 @@ use Appwrite\SDK\Method; use Appwrite\SDK\Response as SDKResponse; use Appwrite\Utopia\Response as UtopiaResponse; use Utopia\Database\Database; +use Utopia\Database\Validator\Authorization; use Utopia\Database\Validator\Key; use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; @@ -71,10 +72,11 @@ class Update extends Action ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } - public function action(string $databaseId, string $collectionId, string $key, ?array $elements, ?bool $required, ?string $default, ?string $newKey, UtopiaResponse $response, Database $dbForProject, Event $queueForEvents): void + public function action(string $databaseId, string $collectionId, string $key, ?array $elements, ?bool $required, ?string $default, ?string $newKey, UtopiaResponse $response, Database $dbForProject, Event $queueForEvents, Authorization $authorization): void { $attribute = $this->updateAttribute( databaseId: $databaseId, @@ -82,6 +84,7 @@ class Update extends Action key: $key, dbForProject: $dbForProject, queueForEvents: $queueForEvents, + authorization: $authorization, type: Database::VAR_STRING, filter: APP_DATABASE_ATTRIBUTE_ENUM, default: $default, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Float/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Float/Create.php index f48348c192..6cd158631f 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Float/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Float/Create.php @@ -13,6 +13,7 @@ use Appwrite\SDK\Response as SDKResponse; use Appwrite\Utopia\Response as UtopiaResponse; use Utopia\Database\Database; use Utopia\Database\Document; +use Utopia\Database\Validator\Authorization; use Utopia\Database\Validator\Key; use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; @@ -74,10 +75,11 @@ class Create extends Action ->inject('dbForProject') ->inject('queueForDatabase') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } - public function action(string $databaseId, string $collectionId, string $key, ?bool $required, ?float $min, ?float $max, ?float $default, bool $array, UtopiaResponse $response, Database $dbForProject, EventDatabase $queueForDatabase, Event $queueForEvents): void + public function action(string $databaseId, string $collectionId, string $key, ?bool $required, ?float $min, ?float $max, ?float $default, bool $array, UtopiaResponse $response, Database $dbForProject, EventDatabase $queueForDatabase, Event $queueForEvents, Authorization $authorization): void { $min ??= -PHP_FLOAT_MAX; $max ??= PHP_FLOAT_MAX; @@ -100,7 +102,7 @@ class Create extends Action 'array' => $array, 'format' => APP_DATABASE_ATTRIBUTE_FLOAT_RANGE, 'formatOptions' => ['min' => $min, 'max' => $max], - ]), $response, $dbForProject, $queueForDatabase, $queueForEvents); + ]), $response, $dbForProject, $queueForDatabase, $queueForEvents, $authorization); $formatOptions = $attribute->getAttribute('formatOptions', []); if (!empty($formatOptions)) { diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Float/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Float/Update.php index 99ac992b9e..6d7d22caf8 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Float/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Float/Update.php @@ -11,6 +11,7 @@ use Appwrite\SDK\Method; use Appwrite\SDK\Response as SDKResponse; use Appwrite\Utopia\Response as UtopiaResponse; use Utopia\Database\Database; +use Utopia\Database\Validator\Authorization; use Utopia\Database\Validator\Key; use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; @@ -71,10 +72,11 @@ class Update extends Action ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } - public function action(string $databaseId, string $collectionId, string $key, ?bool $required, ?float $min, ?float $max, ?float $default, ?string $newKey, UtopiaResponse $response, Database $dbForProject, Event $queueForEvents): void + public function action(string $databaseId, string $collectionId, string $key, ?bool $required, ?float $min, ?float $max, ?float $default, ?string $newKey, UtopiaResponse $response, Database $dbForProject, Event $queueForEvents, Authorization $authorization): void { $attribute = $this->updateAttribute( databaseId: $databaseId, @@ -82,6 +84,7 @@ class Update extends Action key: $key, dbForProject: $dbForProject, queueForEvents: $queueForEvents, + authorization: $authorization, type: Database::VAR_FLOAT, default: $default, required: $required, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Get.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Get.php index 91fa3582f7..d31b17667e 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Get.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Get.php @@ -68,12 +68,13 @@ class Get extends Action ->param('key', '', new Key(), 'Attribute Key.') ->inject('response') ->inject('dbForProject') + ->inject('authorization') ->callback($this->action(...)); } - public function action(string $databaseId, string $collectionId, string $key, UtopiaResponse $response, Database $dbForProject): void + public function action(string $databaseId, string $collectionId, string $key, UtopiaResponse $response, Database $dbForProject, Authorization $authorization): void { - $database = Authorization::skip(fn () => $dbForProject->getDocument('databases', $databaseId)); + $database = $authorization->skip(fn () => $dbForProject->getDocument('databases', $databaseId)); if ($database->isEmpty()) { throw new Exception(Exception::DATABASE_NOT_FOUND); } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/IP/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/IP/Create.php index af3ed99bdf..9c5e3707d5 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/IP/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/IP/Create.php @@ -12,6 +12,7 @@ use Appwrite\SDK\Response as SDKResponse; use Appwrite\Utopia\Response as UtopiaResponse; use Utopia\Database\Database; use Utopia\Database\Document; +use Utopia\Database\Validator\Authorization; use Utopia\Database\Validator\Key; use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; @@ -70,10 +71,11 @@ class Create extends Action ->inject('dbForProject') ->inject('queueForDatabase') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } - public function action(string $databaseId, string $collectionId, string $key, ?bool $required, ?string $default, bool $array, UtopiaResponse $response, Database $dbForProject, EventDatabase $queueForDatabase, Event $queueForEvents): void + public function action(string $databaseId, string $collectionId, string $key, ?bool $required, ?string $default, bool $array, UtopiaResponse $response, Database $dbForProject, EventDatabase $queueForDatabase, Event $queueForEvents, Authorization $authorization): void { $attribute = $this->createAttribute( $databaseId, @@ -90,7 +92,8 @@ class Create extends Action $response, $dbForProject, $queueForDatabase, - $queueForEvents + $queueForEvents, + $authorization ); $response diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/IP/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/IP/Update.php index a757ed47d1..2ee0f1a35b 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/IP/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/IP/Update.php @@ -11,6 +11,7 @@ use Appwrite\SDK\Method; use Appwrite\SDK\Response as SDKResponse; use Appwrite\Utopia\Response as UtopiaResponse; use Utopia\Database\Database; +use Utopia\Database\Validator\Authorization; use Utopia\Database\Validator\Key; use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; @@ -69,10 +70,11 @@ class Update extends Action ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } - public function action(string $databaseId, string $collectionId, string $key, ?bool $required, ?string $default, ?string $newKey, UtopiaResponse $response, Database $dbForProject, Event $queueForEvents): void + public function action(string $databaseId, string $collectionId, string $key, ?bool $required, ?string $default, ?string $newKey, UtopiaResponse $response, Database $dbForProject, Event $queueForEvents, Authorization $authorization): void { $attribute = $this->updateAttribute( databaseId: $databaseId, @@ -80,6 +82,7 @@ class Update extends Action key: $key, dbForProject: $dbForProject, queueForEvents: $queueForEvents, + authorization: $authorization, type: Database::VAR_STRING, filter: APP_DATABASE_ATTRIBUTE_IP, default: $default, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Integer/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Integer/Create.php index 5e147c771d..99492c6950 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Integer/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Integer/Create.php @@ -13,6 +13,7 @@ use Appwrite\SDK\Response as SDKResponse; use Appwrite\Utopia\Response as UtopiaResponse; use Utopia\Database\Database; use Utopia\Database\Document; +use Utopia\Database\Validator\Authorization; use Utopia\Database\Validator\Key; use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; @@ -74,10 +75,11 @@ class Create extends Action ->inject('dbForProject') ->inject('queueForDatabase') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } - public function action(string $databaseId, string $collectionId, string $key, ?bool $required, ?int $min, ?int $max, ?int $default, bool $array, UtopiaResponse $response, Database $dbForProject, EventDatabase $queueForDatabase, Event $queueForEvents): void + public function action(string $databaseId, string $collectionId, string $key, ?bool $required, ?int $min, ?int $max, ?int $default, bool $array, UtopiaResponse $response, Database $dbForProject, EventDatabase $queueForDatabase, Event $queueForEvents, Authorization $authorization): void { $min ??= \PHP_INT_MIN; $max ??= \PHP_INT_MAX; @@ -102,7 +104,7 @@ class Create extends Action 'array' => $array, 'format' => APP_DATABASE_ATTRIBUTE_INT_RANGE, 'formatOptions' => ['min' => $min, 'max' => $max], - ]), $response, $dbForProject, $queueForDatabase, $queueForEvents); + ]), $response, $dbForProject, $queueForDatabase, $queueForEvents, $authorization); $formatOptions = $attribute->getAttribute('formatOptions', []); if (!empty($formatOptions)) { diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Integer/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Integer/Update.php index 6d3858992b..419f09a4b3 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Integer/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Integer/Update.php @@ -11,6 +11,7 @@ use Appwrite\SDK\Method; use Appwrite\SDK\Response as SDKResponse; use Appwrite\Utopia\Response as UtopiaResponse; use Utopia\Database\Database; +use Utopia\Database\Validator\Authorization; use Utopia\Database\Validator\Key; use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; @@ -71,10 +72,11 @@ class Update extends Action ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } - public function action(string $databaseId, string $collectionId, string $key, ?bool $required, ?int $min, ?int $max, ?int $default, ?string $newKey, UtopiaResponse $response, Database $dbForProject, Event $queueForEvents): void + public function action(string $databaseId, string $collectionId, string $key, ?bool $required, ?int $min, ?int $max, ?int $default, ?string $newKey, UtopiaResponse $response, Database $dbForProject, Event $queueForEvents, Authorization $authorization): void { $attribute = $this->updateAttribute( databaseId: $databaseId, @@ -82,6 +84,7 @@ class Update extends Action key: $key, dbForProject: $dbForProject, queueForEvents: $queueForEvents, + authorization: $authorization, type: Database::VAR_INTEGER, default: $default, required: $required, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Line/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Line/Create.php index f691fc29cf..7a92b3e13d 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Line/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Line/Create.php @@ -12,6 +12,7 @@ use Appwrite\SDK\Response as SDKResponse; use Appwrite\Utopia\Response as UtopiaResponse; use Utopia\Database\Database; use Utopia\Database\Document; +use Utopia\Database\Validator\Authorization; use Utopia\Database\Validator\Key; use Utopia\Database\Validator\Spatial; use Utopia\Database\Validator\UID; @@ -69,17 +70,18 @@ class Create extends Action ->inject('dbForProject') ->inject('queueForDatabase') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } - public function action(string $databaseId, string $collectionId, string $key, ?bool $required, ?array $default, UtopiaResponse $response, Database $dbForProject, EventDatabase $queueForDatabase, Event $queueForEvents): void + public function action(string $databaseId, string $collectionId, string $key, ?bool $required, ?array $default, UtopiaResponse $response, Database $dbForProject, EventDatabase $queueForDatabase, Event $queueForEvents, Authorization $authorization): void { $attribute = $this->createAttribute($databaseId, $collectionId, new Document([ 'key' => $key, 'type' => Database::VAR_LINESTRING, 'required' => $required, 'default' => $default - ]), $response, $dbForProject, $queueForDatabase, $queueForEvents); + ]), $response, $dbForProject, $queueForDatabase, $queueForEvents, $authorization); $response ->setStatusCode(SwooleResponse::STATUS_CODE_ACCEPTED) diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Line/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Line/Update.php index 8ef2f96ec2..904209443f 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Line/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Line/Update.php @@ -11,6 +11,7 @@ use Appwrite\SDK\Method; use Appwrite\SDK\Response as SDKResponse; use Appwrite\Utopia\Response as UtopiaResponse; use Utopia\Database\Database; +use Utopia\Database\Validator\Authorization; use Utopia\Database\Validator\Key; use Utopia\Database\Validator\Spatial; use Utopia\Database\Validator\UID; @@ -69,10 +70,11 @@ class Update extends Action ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } - public function action(string $databaseId, string $collectionId, string $key, ?bool $required, ?array $default, ?string $newKey, UtopiaResponse $response, Database $dbForProject, Event $queueForEvents): void + public function action(string $databaseId, string $collectionId, string $key, ?bool $required, ?array $default, ?string $newKey, UtopiaResponse $response, Database $dbForProject, Event $queueForEvents, Authorization $authorization): void { $attribute = $this->updateAttribute( databaseId: $databaseId, @@ -80,6 +82,7 @@ class Update extends Action key: $key, dbForProject: $dbForProject, queueForEvents: $queueForEvents, + authorization: $authorization, type: Database::VAR_LINESTRING, default: $default, required: $required, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Point/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Point/Create.php index aae715ba1e..9aff7cba34 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Point/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Point/Create.php @@ -12,6 +12,7 @@ use Appwrite\SDK\Response as SDKResponse; use Appwrite\Utopia\Response as UtopiaResponse; use Utopia\Database\Database; use Utopia\Database\Document; +use Utopia\Database\Validator\Authorization; use Utopia\Database\Validator\Key; use Utopia\Database\Validator\Spatial; use Utopia\Database\Validator\UID; @@ -69,17 +70,18 @@ class Create extends Action ->inject('dbForProject') ->inject('queueForDatabase') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } - public function action(string $databaseId, string $collectionId, string $key, ?bool $required, ?array $default, UtopiaResponse $response, Database $dbForProject, EventDatabase $queueForDatabase, Event $queueForEvents): void + public function action(string $databaseId, string $collectionId, string $key, ?bool $required, ?array $default, UtopiaResponse $response, Database $dbForProject, EventDatabase $queueForDatabase, Event $queueForEvents, Authorization $authorization): void { $attribute = $this->createAttribute($databaseId, $collectionId, new Document([ 'key' => $key, 'type' => Database::VAR_POINT, 'required' => $required, 'default' => $default, - ]), $response, $dbForProject, $queueForDatabase, $queueForEvents); + ]), $response, $dbForProject, $queueForDatabase, $queueForEvents, $authorization); $response ->setStatusCode(SwooleResponse::STATUS_CODE_ACCEPTED) diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Point/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Point/Update.php index 62f35ad2a7..55cadc4ca8 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Point/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Point/Update.php @@ -11,6 +11,7 @@ use Appwrite\SDK\Method; use Appwrite\SDK\Response as SDKResponse; use Appwrite\Utopia\Response as UtopiaResponse; use Utopia\Database\Database; +use Utopia\Database\Validator\Authorization; use Utopia\Database\Validator\Key; use Utopia\Database\Validator\Spatial; use Utopia\Database\Validator\UID; @@ -69,10 +70,11 @@ class Update extends Action ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } - public function action(string $databaseId, string $collectionId, string $key, ?bool $required, ?array $default, ?string $newKey, UtopiaResponse $response, Database $dbForProject, Event $queueForEvents): void + public function action(string $databaseId, string $collectionId, string $key, ?bool $required, ?array $default, ?string $newKey, UtopiaResponse $response, Database $dbForProject, Event $queueForEvents, Authorization $authorization): void { $attribute = $this->updateAttribute( databaseId: $databaseId, @@ -80,6 +82,7 @@ class Update extends Action key: $key, dbForProject: $dbForProject, queueForEvents: $queueForEvents, + authorization: $authorization, type: Database::VAR_POINT, default: $default, required: $required, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Polygon/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Polygon/Create.php index 6fbbd46d2c..bc3dd75ace 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Polygon/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Polygon/Create.php @@ -12,6 +12,7 @@ use Appwrite\SDK\Response as SDKResponse; use Appwrite\Utopia\Response as UtopiaResponse; use Utopia\Database\Database; use Utopia\Database\Document; +use Utopia\Database\Validator\Authorization; use Utopia\Database\Validator\Key; use Utopia\Database\Validator\Spatial; use Utopia\Database\Validator\UID; @@ -69,17 +70,18 @@ class Create extends Action ->inject('dbForProject') ->inject('queueForDatabase') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } - public function action(string $databaseId, string $collectionId, string $key, ?bool $required, ?array $default, UtopiaResponse $response, Database $dbForProject, EventDatabase $queueForDatabase, Event $queueForEvents): void + public function action(string $databaseId, string $collectionId, string $key, ?bool $required, ?array $default, UtopiaResponse $response, Database $dbForProject, EventDatabase $queueForDatabase, Event $queueForEvents, Authorization $authorization): void { $attribute = $this->createAttribute($databaseId, $collectionId, new Document([ 'key' => $key, 'type' => Database::VAR_POLYGON, 'required' => $required, 'default' => $default, - ]), $response, $dbForProject, $queueForDatabase, $queueForEvents); + ]), $response, $dbForProject, $queueForDatabase, $queueForEvents, $authorization); $response ->setStatusCode(SwooleResponse::STATUS_CODE_ACCEPTED) diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Polygon/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Polygon/Update.php index dba83d44d5..1dcca49d99 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Polygon/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Polygon/Update.php @@ -11,6 +11,7 @@ use Appwrite\SDK\Method; use Appwrite\SDK\Response as SDKResponse; use Appwrite\Utopia\Response as UtopiaResponse; use Utopia\Database\Database; +use Utopia\Database\Validator\Authorization; use Utopia\Database\Validator\Key; use Utopia\Database\Validator\Spatial; use Utopia\Database\Validator\UID; @@ -69,10 +70,11 @@ class Update extends Action ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } - public function action(string $databaseId, string $collectionId, string $key, ?bool $required, ?array $default, ?string $newKey, UtopiaResponse $response, Database $dbForProject, Event $queueForEvents): void + public function action(string $databaseId, string $collectionId, string $key, ?bool $required, ?array $default, ?string $newKey, UtopiaResponse $response, Database $dbForProject, Event $queueForEvents, Authorization $authorization): void { $attribute = $this->updateAttribute( databaseId: $databaseId, @@ -80,6 +82,7 @@ class Update extends Action key: $key, dbForProject: $dbForProject, queueForEvents: $queueForEvents, + authorization: $authorization, type: Database::VAR_POLYGON, default: $default, required: $required, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Relationship/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Relationship/Create.php index 6fc27a9836..30c49911b0 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Relationship/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Relationship/Create.php @@ -83,15 +83,16 @@ class Create extends Action ->inject('dbForProject') ->inject('queueForDatabase') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } - public function action(string $databaseId, string $collectionId, string $relatedCollectionId, string $type, bool $twoWay, ?string $key, ?string $twoWayKey, string $onDelete, UtopiaResponse $response, Database $dbForProject, EventDatabase $queueForDatabase, Event $queueForEvents): void + public function action(string $databaseId, string $collectionId, string $relatedCollectionId, string $type, bool $twoWay, ?string $key, ?string $twoWayKey, string $onDelete, UtopiaResponse $response, Database $dbForProject, EventDatabase $queueForDatabase, Event $queueForEvents, Authorization $authorization): void { $key ??= $relatedCollectionId; $twoWayKey ??= $collectionId; - $database = Authorization::skip(fn () => $dbForProject->getDocument('databases', $databaseId)); + $database = $authorization->skip(fn () => $dbForProject->getDocument('databases', $databaseId)); if ($database->isEmpty()) { throw new Exception(Exception::DATABASE_NOT_FOUND); } @@ -150,7 +151,7 @@ class Create extends Action 'twoWayKey' => $twoWayKey, 'onDelete' => $onDelete, ] - ]), $response, $dbForProject, $queueForDatabase, $queueForEvents); + ]), $response, $dbForProject, $queueForDatabase, $queueForEvents, $authorization); foreach ($attribute->getAttribute('options', []) as $k => $option) { $attribute->setAttribute($k, $option); diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Relationship/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Relationship/Update.php index f9f1d6f3ab..8623f7cb17 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Relationship/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Relationship/Update.php @@ -11,6 +11,7 @@ use Appwrite\SDK\Method; use Appwrite\SDK\Response as SDKResponse; use Appwrite\Utopia\Response as UtopiaResponse; use Utopia\Database\Database; +use Utopia\Database\Validator\Authorization; use Utopia\Database\Validator\Key; use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; @@ -71,6 +72,7 @@ class Update extends Action ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } @@ -82,7 +84,8 @@ class Update extends Action ?string $newKey, UtopiaResponse $response, Database $dbForProject, - Event $queueForEvents + Event $queueForEvents, + Authorization $authorization ): void { $attribute = $this->updateAttribute( databaseId: $databaseId, @@ -90,6 +93,7 @@ class Update extends Action key: $key, dbForProject: $dbForProject, queueForEvents: $queueForEvents, + authorization: $authorization, type: Database::VAR_RELATIONSHIP, required: false, options: [ diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/String/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/String/Create.php index 88cb161505..0712b9f2e5 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/String/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/String/Create.php @@ -14,6 +14,7 @@ use Appwrite\Utopia\Response as UtopiaResponse; use Utopia\App; use Utopia\Database\Database; use Utopia\Database\Document; +use Utopia\Database\Validator\Authorization; use Utopia\Database\Validator\Key; use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; @@ -77,6 +78,7 @@ class Create extends Action ->inject('queueForDatabase') ->inject('queueForEvents') ->inject('plan') + ->inject('authorization') ->callback($this->action(...)); } @@ -93,7 +95,8 @@ class Create extends Action Database $dbForProject, EventDatabase $queueForDatabase, Event $queueForEvents, - array $plan + array $plan, + Authorization $authorization ): void { if (!App::isDevelopment() && $encrypt && !empty($plan) && !($plan['databasesAllowEncrypt'] ?? false)) { throw new Exception(Exception::GENERAL_BAD_REQUEST, 'Encrypted string ' . $this->getSDKGroup() . ' are not available on your plan. Please upgrade to create encrypted string ' . $this->getSDKGroup() . '.'); @@ -132,7 +135,8 @@ class Create extends Action $response, $dbForProject, $queueForDatabase, - $queueForEvents + $queueForEvents, + $authorization ); $attribute->setAttribute('encrypt', $encrypt); diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/String/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/String/Update.php index 6687178cb1..096481198c 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/String/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/String/Update.php @@ -11,6 +11,7 @@ use Appwrite\SDK\Method; use Appwrite\SDK\Response as SDKResponse; use Appwrite\Utopia\Response as UtopiaResponse; use Utopia\Database\Database; +use Utopia\Database\Validator\Authorization; use Utopia\Database\Validator\Key; use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; @@ -72,6 +73,7 @@ class Update extends Action ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } @@ -85,7 +87,8 @@ class Update extends Action ?string $newKey, UtopiaResponse $response, Database $dbForProject, - Event $queueForEvents + Event $queueForEvents, + Authorization $authorization ): void { $attribute = $this->updateAttribute( databaseId: $databaseId, @@ -93,6 +96,7 @@ class Update extends Action key: $key, dbForProject: $dbForProject, queueForEvents: $queueForEvents, + authorization: $authorization, type: Database::VAR_STRING, size: $size, default: $default, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/URL/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/URL/Create.php index 2d3b0c6168..31b012754d 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/URL/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/URL/Create.php @@ -12,6 +12,7 @@ use Appwrite\SDK\Response as SDKResponse; use Appwrite\Utopia\Response as UtopiaResponse; use Utopia\Database\Database; use Utopia\Database\Document; +use Utopia\Database\Validator\Authorization; use Utopia\Database\Validator\Key; use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; @@ -70,6 +71,7 @@ class Create extends Action ->inject('dbForProject') ->inject('queueForDatabase') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } @@ -83,7 +85,8 @@ class Create extends Action UtopiaResponse $response, Database $dbForProject, EventDatabase $queueForDatabase, - Event $queueForEvents + Event $queueForEvents, + Authorization $authorization ): void { $attribute = $this->createAttribute($databaseId, $collectionId, new Document([ 'key' => $key, @@ -93,7 +96,7 @@ class Create extends Action 'default' => $default, 'array' => $array, 'format' => APP_DATABASE_ATTRIBUTE_URL, - ]), $response, $dbForProject, $queueForDatabase, $queueForEvents); + ]), $response, $dbForProject, $queueForDatabase, $queueForEvents, $authorization); $response ->setStatusCode(SwooleResponse::STATUS_CODE_ACCEPTED) diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/URL/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/URL/Update.php index ebaea9e61d..46f2ec3acd 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/URL/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/URL/Update.php @@ -11,6 +11,7 @@ use Appwrite\SDK\Method; use Appwrite\SDK\Response as SDKResponse; use Appwrite\Utopia\Response as UtopiaResponse; use Utopia\Database\Database; +use Utopia\Database\Validator\Authorization; use Utopia\Database\Validator\Key; use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; @@ -69,6 +70,7 @@ class Update extends Action ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } @@ -81,7 +83,8 @@ class Update extends Action ?string $newKey, UtopiaResponse $response, Database $dbForProject, - Event $queueForEvents + Event $queueForEvents, + Authorization $authorization ): void { $attribute = $this->updateAttribute( $databaseId, @@ -89,6 +92,7 @@ class Update extends Action $key, $dbForProject, $queueForEvents, + $authorization, type: Database::VAR_STRING, filter: APP_DATABASE_ATTRIBUTE_URL, default: $default, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/XList.php index c2af3ac945..be61b260b3 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/XList.php @@ -64,12 +64,13 @@ class XList extends Action ->param('total', true, new Boolean(true), 'When set to false, the total count returned will be 0 and will not be calculated.', true) ->inject('response') ->inject('dbForProject') + ->inject('authorization') ->callback($this->action(...)); } - public function action(string $databaseId, string $collectionId, array $queries, bool $includeTotal, UtopiaResponse $response, Database $dbForProject): void + public function action(string $databaseId, string $collectionId, array $queries, bool $includeTotal, UtopiaResponse $response, Database $dbForProject, Authorization $authorization): void { - $database = Authorization::skip(fn () => $dbForProject->getDocument('databases', $databaseId)); + $database = $authorization->skip(fn () => $dbForProject->getDocument('databases', $databaseId)); if ($database->isEmpty()) { throw new Exception(Exception::DATABASE_NOT_FOUND); } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Create.php index 922cc45428..93812585ea 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Create.php @@ -78,12 +78,13 @@ class Create extends Action ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } - public function action(string $databaseId, string $collectionId, string $name, ?array $permissions, bool $documentSecurity, bool $enabled, UtopiaResponse $response, Database $dbForProject, Event $queueForEvents): void + public function action(string $databaseId, string $collectionId, string $name, ?array $permissions, bool $documentSecurity, bool $enabled, UtopiaResponse $response, Database $dbForProject, Event $queueForEvents, Authorization $authorization): void { - $database = Authorization::skip(fn () => $dbForProject->getDocument('databases', $databaseId)); + $database = $authorization->skip(fn () => $dbForProject->getDocument('databases', $databaseId)); if ($database->isEmpty()) { throw new Exception(Exception::DATABASE_NOT_FOUND); diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Delete.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Delete.php index d124a47289..67f53fa33a 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Delete.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Delete.php @@ -64,12 +64,13 @@ class Delete extends Action ->inject('dbForProject') ->inject('queueForDatabase') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } - public function action(string $databaseId, string $collectionId, UtopiaResponse $response, Database $dbForProject, EventDatabase $queueForDatabase, Event $queueForEvents): void + public function action(string $databaseId, string $collectionId, UtopiaResponse $response, Database $dbForProject, EventDatabase $queueForDatabase, Event $queueForEvents, Authorization $authorization): void { - $database = Authorization::skip(fn () => $dbForProject->getDocument('databases', $databaseId)); + $database = $authorization->skip(fn () => $dbForProject->getDocument('databases', $databaseId)); if ($database->isEmpty()) { throw new Exception(Exception::DATABASE_NOT_FOUND); } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Action.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Action.php index 08eea88e19..14b09777a8 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Action.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Action.php @@ -258,9 +258,9 @@ abstract class Action extends DatabasesAction Document $collection, Document $document, Database $dbForProject, - /* options */ array &$collectionsCache, + Authorization $authorization, ?int &$operations = null, ): bool { @@ -297,7 +297,7 @@ abstract class Action extends DatabasesAction $relatedCollectionId = $relationship->getAttribute('relatedCollection'); if (!isset($collectionsCache[$relatedCollectionId])) { - $relatedCollectionDoc = Authorization::skip( + $relatedCollectionDoc = $authorization->skip( fn () => $dbForProject->getDocument( 'database_' . $database->getSequence(), $relatedCollectionId @@ -323,7 +323,8 @@ abstract class Action extends DatabasesAction document: $relation, dbForProject: $dbForProject, collectionsCache: $collectionsCache, - operations: $operations + operations: $operations, + authorization: $authorization ); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Attribute/Decrement.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Attribute/Decrement.php index fb5925c291..158a44c1b3 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Attribute/Decrement.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Attribute/Decrement.php @@ -85,20 +85,21 @@ class Decrement extends Action ->inject('queueForEvents') ->inject('queueForStatsUsage') ->inject('plan') + ->inject('authorization') ->callback($this->action(...)); } - public function action(string $databaseId, string $collectionId, string $documentId, string $attribute, int|float $value, int|float|null $min, ?string $transactionId, UtopiaResponse $response, Database $dbForProject, Event $queueForEvents, StatsUsage $queueForStatsUsage, array $plan): void + public function action(string $databaseId, string $collectionId, string $documentId, string $attribute, int|float $value, int|float|null $min, ?string $transactionId, UtopiaResponse $response, Database $dbForProject, Event $queueForEvents, StatsUsage $queueForStatsUsage, array $plan, Authorization $authorization): void { - $isAPIKey = Auth::isAppUser(Authorization::getRoles()); - $isPrivilegedUser = Auth::isPrivilegedUser(Authorization::getRoles()); + $isAPIKey = Auth::isAppUser($authorization->getRoles()); + $isPrivilegedUser = Auth::isPrivilegedUser($authorization->getRoles()); - $database = Authorization::skip(fn () => $dbForProject->getDocument('databases', $databaseId)); + $database = $authorization->skip(fn () => $dbForProject->getDocument('databases', $databaseId)); if ($database->isEmpty()) { throw new Exception(Exception::DATABASE_NOT_FOUND); } - $collection = Authorization::skip(fn () => $dbForProject->getDocument('database_' . $database->getSequence(), $collectionId)); + $collection = $authorization->skip(fn () => $dbForProject->getDocument('database_' . $database->getSequence(), $collectionId)); if ($collection->isEmpty()) { throw new Exception($this->getParentNotFoundException()); } @@ -106,7 +107,7 @@ class Decrement extends Action // Handle transaction staging if ($transactionId !== null) { $transaction = ($isAPIKey || $isPrivilegedUser) - ? Authorization::skip(fn () => $dbForProject->getDocument('transactions', $transactionId)) + ? $authorization->skip(fn () => $dbForProject->getDocument('transactions', $transactionId)) : $dbForProject->getDocument('transactions', $transactionId); if ($transaction->isEmpty() || $transaction->getAttribute('status', '') !== 'pending') { throw new Exception(Exception::GENERAL_BAD_REQUEST, 'Invalid or non‑pending transaction'); diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Attribute/Increment.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Attribute/Increment.php index 5172890046..9045954789 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Attribute/Increment.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Attribute/Increment.php @@ -85,20 +85,21 @@ class Increment extends Action ->inject('queueForEvents') ->inject('queueForStatsUsage') ->inject('plan') + ->inject('authorization') ->callback($this->action(...)); } - public function action(string $databaseId, string $collectionId, string $documentId, string $attribute, int|float $value, int|float|null $max, ?string $transactionId, UtopiaResponse $response, Database $dbForProject, Event $queueForEvents, StatsUsage $queueForStatsUsage, array $plan): void + public function action(string $databaseId, string $collectionId, string $documentId, string $attribute, int|float $value, int|float|null $max, ?string $transactionId, UtopiaResponse $response, Database $dbForProject, Event $queueForEvents, StatsUsage $queueForStatsUsage, array $plan, Authorization $authorization): void { - $isAPIKey = Auth::isAppUser(Authorization::getRoles()); - $isPrivilegedUser = Auth::isPrivilegedUser(Authorization::getRoles()); + $isAPIKey = Auth::isAppUser($authorization->getRoles()); + $isPrivilegedUser = Auth::isPrivilegedUser($authorization->getRoles()); - $database = Authorization::skip(fn () => $dbForProject->getDocument('databases', $databaseId)); + $database = $authorization->skip(fn () => $dbForProject->getDocument('databases', $databaseId)); if ($database->isEmpty()) { throw new Exception(Exception::DATABASE_NOT_FOUND); } - $collection = Authorization::skip(fn () => $dbForProject->getDocument('database_' . $database->getSequence(), $collectionId)); + $collection = $authorization->skip(fn () => $dbForProject->getDocument('database_' . $database->getSequence(), $collectionId)); if ($collection->isEmpty()) { throw new Exception($this->getParentNotFoundException()); } @@ -106,7 +107,7 @@ class Increment extends Action // Handle transaction staging if ($transactionId !== null) { $transaction = ($isAPIKey || $isPrivilegedUser) - ? Authorization::skip(fn () => $dbForProject->getDocument('transactions', $transactionId)) + ? $authorization->skip(fn () => $dbForProject->getDocument('transactions', $transactionId)) : $dbForProject->getDocument('transactions', $transactionId); if ($transaction->isEmpty() || $transaction->getAttribute('status', '') !== 'pending') { throw new Exception(Exception::GENERAL_BAD_REQUEST, 'Invalid or non‑pending transaction'); diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Create.php index 1320a0c9bc..ec3db59668 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Create.php @@ -24,6 +24,7 @@ use Utopia\Database\Helpers\ID; use Utopia\Database\Helpers\Permission; use Utopia\Database\Helpers\Role; use Utopia\Database\Validator\Authorization; +use Utopia\Database\Validator\Authorization\Input; use Utopia\Database\Validator\Permissions; use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; @@ -132,9 +133,10 @@ class Create extends Action ->inject('queueForFunctions') ->inject('queueForWebhooks') ->inject('plan') + ->inject('authorization') ->callback($this->action(...)); } - public function action(string $databaseId, string $documentId, string $collectionId, string|array $data, ?array $permissions, ?array $documents, ?string $transactionId, UtopiaResponse $response, Database $dbForProject, Document $user, Event $queueForEvents, StatsUsage $queueForStatsUsage, Event $queueForRealtime, Event $queueForFunctions, Event $queueForWebhooks, array $plan): void + public function action(string $databaseId, string $documentId, string $collectionId, string|array $data, ?array $permissions, ?array $documents, ?string $transactionId, UtopiaResponse $response, Database $dbForProject, Document $user, Event $queueForEvents, StatsUsage $queueForStatsUsage, Event $queueForRealtime, Event $queueForFunctions, Event $queueForWebhooks, array $plan, Authorization $authorization): void { $data = \is_string($data) ? \json_decode($data, true) @@ -178,19 +180,19 @@ class Create extends Action $documents = [$data]; } - $isAPIKey = Auth::isAppUser(Authorization::getRoles()); - $isPrivilegedUser = Auth::isPrivilegedUser(Authorization::getRoles()); + $isAPIKey = Auth::isAppUser($authorization->getRoles()); + $isPrivilegedUser = Auth::isPrivilegedUser($authorization->getRoles()); if ($isBulk && !$isAPIKey && !$isPrivilegedUser) { throw new Exception(Exception::GENERAL_UNAUTHORIZED_SCOPE); } - $database = Authorization::skip(fn () => $dbForProject->getDocument('databases', $databaseId)); + $database = $authorization->skip(fn () => $dbForProject->getDocument('databases', $databaseId)); if ($database->isEmpty() || (!$database->getAttribute('enabled', false) && !$isAPIKey && !$isPrivilegedUser)) { throw new Exception(Exception::DATABASE_NOT_FOUND); } - $collection = Authorization::skip(fn () => $dbForProject->getDocument('database_' . $database->getSequence(), $collectionId)); + $collection = $authorization->skip(fn () => $dbForProject->getDocument('database_' . $database->getSequence(), $collectionId)); if ($collection->isEmpty() || (!$collection->getAttribute('enabled', false) && !$isAPIKey && !$isPrivilegedUser)) { throw new Exception($this->getParentNotFoundException()); } @@ -204,7 +206,7 @@ class Create extends Action throw new Exception(Exception::GENERAL_BAD_REQUEST, 'Bulk create is not supported for ' . $this->getSDKNamespace() .' with relationship ' . $this->getStructureContext()); } - $setPermissions = function (Document $document, ?array $permissions) use ($user, $isAPIKey, $isPrivilegedUser, $isBulk) { + $setPermissions = function (Document $document, ?array $permissions) use ($user, $isAPIKey, $isPrivilegedUser, $isBulk, $dbForProject, $authorization) { $allowedPermissions = [ Database::PERMISSION_READ, Database::PERMISSION_UPDATE, @@ -247,8 +249,8 @@ class Create extends Action $permission->getIdentifier(), $permission->getDimension() ))->toString(); - if (!Authorization::isRole($role)) { - throw new Exception(Exception::USER_UNAUTHORIZED, 'Permissions must be one of: (' . \implode(', ', Authorization::getRoles()) . ')'); + if (!$authorization->hasRole($role)) { + throw new Exception(Exception::USER_UNAUTHORIZED, 'Permissions must be one of: (' . \implode(', ', $authorization->getRoles()) . ')'); } } } @@ -259,21 +261,25 @@ class Create extends Action $operations = 0; - $checkPermissions = function (Document $collection, Document $document, string $permission) use ($isAPIKey, $isPrivilegedUser, &$checkPermissions, $dbForProject, $database, &$operations) { + $checkPermissions = function (Document $collection, Document $document, string $permission) use ($isAPIKey, $isPrivilegedUser, &$checkPermissions, $dbForProject, $database, &$operations, $authorization) { $operations++; $documentSecurity = $collection->getAttribute('documentSecurity', false); - $validator = new Authorization($permission); - $valid = $validator->isValid($collection->getPermissionsByType($permission)); - if (($permission === Database::PERMISSION_UPDATE && !$documentSecurity) || !$valid) { - throw new Exception(Exception::USER_UNAUTHORIZED); + $validCollection = $authorization->isValid( + new Input($permission, $collection->getPermissionsByType($permission)) + ); + if (($permission === Database::PERMISSION_UPDATE && !$documentSecurity) || !$validCollection) { + throw new Exception(Exception::USER_UNAUTHORIZED, $authorization->getDescription()); } if ($permission === Database::PERMISSION_UPDATE) { - $valid = $valid || $validator->isValid($document->getUpdate()); + $validDocument = $authorization->isValid( + new Input($permission, $document->getUpdate()) + ); + $valid = $validCollection || $validDocument; if ($documentSecurity && !$valid) { - throw new Exception(Exception::USER_UNAUTHORIZED); + throw new Exception(Exception::USER_UNAUTHORIZED, $authorization->getDescription()); } } @@ -298,7 +304,7 @@ class Create extends Action } $relatedCollectionId = $relationship->getAttribute('relatedCollection'); - $relatedCollection = Authorization::skip( + $relatedCollection = $authorization->skip( fn () => $dbForProject->getDocument('database_' . $database->getSequence(), $relatedCollectionId) ); @@ -314,7 +320,7 @@ class Create extends Action if ($relation instanceof Document) { $relation = $this->removeReadonlyAttributes($relation, $isAPIKey || $isPrivilegedUser); - $current = Authorization::skip( + $current = $authorization->skip( fn () => $dbForProject->getDocument('database_' . $database->getSequence() . '_collection_' . $relatedCollection->getSequence(), $relation->getId()) ); @@ -369,7 +375,7 @@ class Create extends Action // Handle transaction staging if ($transactionId !== null) { $transaction = ($isAPIKey || $isPrivilegedUser) - ? Authorization::skip(fn () => $dbForProject->getDocument('transactions', $transactionId)) + ? $authorization->skip(fn () => $dbForProject->getDocument('transactions', $transactionId)) : $dbForProject->getDocument('transactions', $transactionId); if ($transaction->isEmpty()) { throw new Exception(Exception::TRANSACTION_NOT_FOUND); @@ -468,6 +474,7 @@ class Create extends Action document: $document, dbForProject: $dbForProject, collectionsCache: $collectionsCache, + authorization: $authorization ); } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Delete.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Delete.php index 194bf27816..93ad7dc2a8 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Delete.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Delete.php @@ -83,6 +83,7 @@ class Delete extends Action ->inject('queueForStatsUsage') ->inject('transactionState') ->inject('plan') + ->inject('authorization') ->callback($this->action(...)); } @@ -97,18 +98,19 @@ class Delete extends Action Event $queueForEvents, StatsUsage $queueForStatsUsage, TransactionState $transactionState, - array $plan + array $plan, + Authorization $authorization ): void { - $database = Authorization::skip(fn () => $dbForProject->getDocument('databases', $databaseId)); + $database = $authorization->skip(fn () => $dbForProject->getDocument('databases', $databaseId)); - $isAPIKey = Auth::isAppUser(Authorization::getRoles()); - $isPrivilegedUser = Auth::isPrivilegedUser(Authorization::getRoles()); + $isAPIKey = Auth::isAppUser($authorization->getRoles()); + $isPrivilegedUser = Auth::isPrivilegedUser($authorization->getRoles()); if ($database->isEmpty() || (!$database->getAttribute('enabled', false) && !$isAPIKey && !$isPrivilegedUser)) { throw new Exception(Exception::DATABASE_NOT_FOUND); } - $collection = Authorization::skip(fn () => $dbForProject->getDocument('database_' . $database->getSequence(), $collectionId)); + $collection = $authorization->skip(fn () => $dbForProject->getDocument('database_' . $database->getSequence(), $collectionId)); if ($collection->isEmpty() || (!$collection->getAttribute('enabled', false) && !$isAPIKey && !$isPrivilegedUser)) { throw new Exception($this->getParentNotFoundException()); @@ -121,7 +123,7 @@ class Delete extends Action // Use transaction-aware document retrieval to see changes from same transaction $document = $transactionState->getDocument($collectionTableId, $documentId, $transactionId); } else { - $document = Authorization::skip(fn () => $dbForProject->getDocument($collectionTableId, $documentId)); + $document = $authorization->skip(fn () => $dbForProject->getDocument($collectionTableId, $documentId)); } if ($document->isEmpty()) { @@ -131,7 +133,7 @@ class Delete extends Action // Handle transaction staging if ($transactionId !== null) { $transaction = ($isAPIKey || $isPrivilegedUser) - ? Authorization::skip(fn () => $dbForProject->getDocument('transactions', $transactionId)) + ? $authorization->skip(fn () => $dbForProject->getDocument('transactions', $transactionId)) : $dbForProject->getDocument('transactions', $transactionId); if ($transaction->isEmpty()) { throw new Exception(Exception::TRANSACTION_NOT_FOUND); @@ -205,6 +207,7 @@ class Delete extends Action document: $document, dbForProject: $dbForProject, collectionsCache: $collectionsCache, + authorization: $authorization ); $queueForStatsUsage diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Get.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Get.php index c92a487697..fa89d5fa32 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Get.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Get.php @@ -70,20 +70,21 @@ class Get extends Action ->inject('dbForProject') ->inject('queueForStatsUsage') ->inject('transactionState') + ->inject('authorization') ->callback($this->action(...)); } - public function action(string $databaseId, string $collectionId, string $documentId, array $queries, ?string $transactionId, UtopiaResponse $response, Database $dbForProject, StatsUsage $queueForStatsUsage, TransactionState $transactionState): void + public function action(string $databaseId, string $collectionId, string $documentId, array $queries, ?string $transactionId, UtopiaResponse $response, Database $dbForProject, StatsUsage $queueForStatsUsage, TransactionState $transactionState, Authorization $authorization): void { - $isAPIKey = Auth::isAppUser(Authorization::getRoles()); - $isPrivilegedUser = Auth::isPrivilegedUser(Authorization::getRoles()); + $isAPIKey = Auth::isAppUser($authorization->getRoles()); + $isPrivilegedUser = Auth::isPrivilegedUser($authorization->getRoles()); - $database = Authorization::skip(fn () => $dbForProject->getDocument('databases', $databaseId)); + $database = $authorization->skip(fn () => $dbForProject->getDocument('databases', $databaseId)); if ($database->isEmpty() || (!$database->getAttribute('enabled', false) && !$isAPIKey && !$isPrivilegedUser)) { throw new Exception(Exception::DATABASE_NOT_FOUND); } - $collection = Authorization::skip(fn () => $dbForProject->getDocument('database_' . $database->getSequence(), $collectionId)); + $collection = $authorization->skip(fn () => $dbForProject->getDocument('database_' . $database->getSequence(), $collectionId)); if ($collection->isEmpty() || (!$collection->getAttribute('enabled', false) && !$isAPIKey && !$isPrivilegedUser)) { throw new Exception($this->getParentNotFoundException()); @@ -125,6 +126,7 @@ class Get extends Action document: $document, dbForProject: $dbForProject, collectionsCache: $collectionsCache, + authorization: $authorization, operations: $operations ); diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Logs/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Logs/XList.php index 241b0c4ede..68fd41221d 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Logs/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Logs/XList.php @@ -73,12 +73,13 @@ class XList extends Action ->inject('dbForProject') ->inject('locale') ->inject('geodb') + ->inject('authorization') ->callback($this->action(...)); } - public function action(string $databaseId, string $collectionId, string $documentId, array $queries, UtopiaResponse $response, Database $dbForProject, Locale $locale, Reader $geodb): void + public function action(string $databaseId, string $collectionId, string $documentId, array $queries, UtopiaResponse $response, Database $dbForProject, Locale $locale, Reader $geodb, Authorization $authorization): void { - $database = Authorization::skip(fn () => $dbForProject->getDocument('databases', $databaseId)); + $database = $authorization->skip(fn () => $dbForProject->getDocument('databases', $databaseId)); if ($database->isEmpty()) { throw new Exception(Exception::DATABASE_NOT_FOUND); } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Update.php index ecdbc738a1..0aca4a08c3 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Update.php @@ -87,10 +87,11 @@ class Update extends Action ->inject('queueForStatsUsage') ->inject('transactionState') ->inject('plan') + ->inject('authorization') ->callback($this->action(...)); } - public function action(string $databaseId, string $collectionId, string $documentId, string|array $data, ?array $permissions, ?string $transactionId, ?\DateTime $requestTimestamp, UtopiaResponse $response, Database $dbForProject, Event $queueForEvents, StatsUsage $queueForStatsUsage, TransactionState $transactionState, array $plan): void + public function action(string $databaseId, string $collectionId, string $documentId, string|array $data, ?array $permissions, ?string $transactionId, ?\DateTime $requestTimestamp, UtopiaResponse $response, Database $dbForProject, Event $queueForEvents, StatsUsage $queueForStatsUsage, TransactionState $transactionState, array $plan, Authorization $authorization): void { $data = (\is_string($data)) ? \json_decode($data, true) : $data; // Cast to JSON array @@ -98,16 +99,16 @@ class Update extends Action throw new Exception($this->getMissingPayloadException()); } - $database = Authorization::skip(fn () => $dbForProject->getDocument('databases', $databaseId)); + $database = $authorization->skip(fn () => $dbForProject->getDocument('databases', $databaseId)); - $isAPIKey = Auth::isAppUser(Authorization::getRoles()); - $isPrivilegedUser = Auth::isPrivilegedUser(Authorization::getRoles()); + $isAPIKey = Auth::isAppUser($authorization->getRoles()); + $isPrivilegedUser = Auth::isPrivilegedUser($authorization->getRoles()); if ($database->isEmpty() || (!$database->getAttribute('enabled', false) && !$isAPIKey && !$isPrivilegedUser)) { throw new Exception(Exception::DATABASE_NOT_FOUND); } - $collection = Authorization::skip(fn () => $dbForProject->getDocument('database_' . $database->getSequence(), $collectionId)); + $collection = $authorization->skip(fn () => $dbForProject->getDocument('database_' . $database->getSequence(), $collectionId)); if ($collection->isEmpty() || (!$collection->getAttribute('enabled', false) && !$isAPIKey && !$isPrivilegedUser)) { throw new Exception($this->getParentNotFoundException()); @@ -125,7 +126,7 @@ class Update extends Action // Use transaction-aware document retrieval to see changes from same transaction $document = $transactionState->getDocument($collectionTableId, $documentId, $transactionId); } else { - $document = Authorization::skip(fn () => $dbForProject->getDocument($collectionTableId, $documentId)); + $document = $authorization->skip(fn () => $dbForProject->getDocument($collectionTableId, $documentId)); } if ($document->isEmpty()) { @@ -140,7 +141,7 @@ class Update extends Action ]); // Users can only manage their own roles, API keys and Admin users can manage any - $roles = Authorization::getRoles(); + $roles = $authorization->getRoles(); if (!$isAPIKey && !$isPrivilegedUser && !\is_null($permissions)) { foreach (Database::PERMISSIONS as $type) { foreach ($permissions as $permission) { @@ -153,7 +154,7 @@ class Update extends Action $permission->getIdentifier(), $permission->getDimension() ))->toString(); - if (!Authorization::isRole($role)) { + if (!$authorization->hasRole($role)) { throw new Exception(Exception::USER_UNAUTHORIZED, 'Permissions must be one of: (' . \implode(', ', $roles) . ')'); } } @@ -171,7 +172,7 @@ class Update extends Action $operations = 0; - $setCollection = (function (Document $collection, Document $document) use ($isAPIKey, $isPrivilegedUser, &$setCollection, $dbForProject, $database, &$operations) { + $setCollection = (function (Document $collection, Document $document) use ($isAPIKey, $isPrivilegedUser, &$setCollection, $dbForProject, $database, &$operations, $authorization) { $operations++; $relationships = \array_filter( @@ -195,7 +196,7 @@ class Update extends Action } $relatedCollectionId = $relationship->getAttribute('relatedCollection'); - $relatedCollection = Authorization::skip( + $relatedCollection = $authorization->skip( fn () => $dbForProject->getDocument('database_' . $database->getSequence(), $relatedCollectionId) ); @@ -212,7 +213,7 @@ class Update extends Action if ($relation instanceof Document) { $relation = $this->removeReadonlyAttributes($relation, $isAPIKey || $isPrivilegedUser); - $oldDocument = Authorization::skip(fn () => $dbForProject->getDocument( + $oldDocument = $authorization->skip(fn () => $dbForProject->getDocument( 'database_' . $database->getSequence() . '_collection_' . $relatedCollection->getSequence(), $relation->getId() )); @@ -249,7 +250,7 @@ class Update extends Action // Handle transaction staging if ($transactionId !== null) { $transaction = ($isAPIKey || $isPrivilegedUser) - ? Authorization::skip(fn () => $dbForProject->getDocument('transactions', $transactionId)) + ? $authorization->skip(fn () => $dbForProject->getDocument('transactions', $transactionId)) : $dbForProject->getDocument('transactions', $transactionId); if ($transaction->isEmpty()) { throw new Exception(Exception::TRANSACTION_NOT_FOUND); @@ -340,6 +341,7 @@ class Update extends Action document: $document, dbForProject: $dbForProject, collectionsCache: $collectionsCache, + authorization: $authorization, ); $response->dynamic($document, $this->getResponseModel()); diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Upsert.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Upsert.php index 7901865b62..5ec455b947 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Upsert.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Upsert.php @@ -91,10 +91,11 @@ class Upsert extends Action ->inject('queueForStatsUsage') ->inject('transactionState') ->inject('plan') + ->inject('authorization') ->callback($this->action(...)); } - public function action(string $databaseId, string $collectionId, string $documentId, string|array $data, ?array $permissions, ?string $transactionId, ?\DateTime $requestTimestamp, UtopiaResponse $response, Document $user, Database $dbForProject, Event $queueForEvents, StatsUsage $queueForStatsUsage, TransactionState $transactionState, array $plan): void + public function action(string $databaseId, string $collectionId, string $documentId, string|array $data, ?array $permissions, ?string $transactionId, ?\DateTime $requestTimestamp, UtopiaResponse $response, Document $user, Database $dbForProject, Event $queueForEvents, StatsUsage $queueForStatsUsage, TransactionState $transactionState, array $plan, Authorization $authorization): void { $data = (\is_string($data)) ? \json_decode($data, true) : $data; // Cast to JSON array @@ -106,15 +107,15 @@ class Upsert extends Action throw new Exception($this->getMissingPayloadException()); } - $isAPIKey = Auth::isAppUser(Authorization::getRoles()); - $isPrivilegedUser = Auth::isPrivilegedUser(Authorization::getRoles()); + $isAPIKey = Auth::isAppUser($authorization->getRoles()); + $isPrivilegedUser = Auth::isPrivilegedUser($authorization->getRoles()); - $database = Authorization::skip(fn () => $dbForProject->getDocument('databases', $databaseId)); + $database = $authorization->skip(fn () => $dbForProject->getDocument('databases', $databaseId)); if ($database->isEmpty() || (!$database->getAttribute('enabled', false) && !$isAPIKey && !$isPrivilegedUser)) { throw new Exception(Exception::DATABASE_NOT_FOUND); } - $collection = Authorization::skip(fn () => $dbForProject->getDocument('database_' . $database->getSequence(), $collectionId)); + $collection = $authorization->skip(fn () => $dbForProject->getDocument('database_' . $database->getSequence(), $collectionId)); if ($collection->isEmpty() || (!$collection->getAttribute('enabled', false) && !$isAPIKey && !$isPrivilegedUser)) { throw new Exception($this->getParentNotFoundException()); } @@ -139,7 +140,7 @@ class Upsert extends Action // Use transaction-aware document retrieval to see changes from same transaction $oldDocument = $transactionState->getDocument($collectionTableId, $documentId, $transactionId); } else { - $oldDocument = Authorization::skip(fn () => $dbForProject->getDocument($collectionTableId, $documentId)); + $oldDocument = $authorization->skip(fn () => $dbForProject->getDocument($collectionTableId, $documentId)); } if ($oldDocument->isEmpty()) { if (!empty($user->getId())) { @@ -155,7 +156,7 @@ class Upsert extends Action } // Users can only manage their own roles, API keys and Admin users can manage any - $roles = Authorization::getRoles(); + $roles = $authorization->getRoles(); if (!$isAPIKey && !$isPrivilegedUser && !\is_null($permissions)) { foreach (Database::PERMISSIONS as $type) { foreach ($permissions as $permission) { @@ -168,7 +169,7 @@ class Upsert extends Action $permission->getIdentifier(), $permission->getDimension() ))->toString(); - if (!Authorization::isRole($role)) { + if (!$authorization->hasRole($role)) { throw new Exception(Exception::USER_UNAUTHORIZED, 'Permissions must be one of: (' . \implode(', ', $roles) . ')'); } } @@ -181,7 +182,7 @@ class Upsert extends Action $newDocument = new Document($data); $operations = 0; - $setCollection = (function (Document $collection, Document $document) use ($isAPIKey, $isPrivilegedUser, &$setCollection, $dbForProject, $database, &$operations) { + $setCollection = (function (Document $collection, Document $document) use ($isAPIKey, $isPrivilegedUser, &$setCollection, $dbForProject, $database, &$operations, $authorization) { $operations++; $relationships = \array_filter( @@ -205,7 +206,7 @@ class Upsert extends Action } $relatedCollectionId = $relationship->getAttribute('relatedCollection'); - $relatedCollection = Authorization::skip( + $relatedCollection = $authorization->skip( fn () => $dbForProject->getDocument('database_' . $database->getSequence(), $relatedCollectionId) ); @@ -222,7 +223,7 @@ class Upsert extends Action if ($relation instanceof Document) { $relation = $this->removeReadonlyAttributes($relation, $isAPIKey || $isPrivilegedUser); - $oldDocument = Authorization::skip(fn () => $dbForProject->getDocument( + $oldDocument = $authorization->skip(fn () => $dbForProject->getDocument( 'database_' . $database->getSequence() . '_collection_' . $relatedCollection->getSequence(), $relation->getId() )); @@ -259,7 +260,7 @@ class Upsert extends Action // Handle transaction staging if ($transactionId !== null) { $transaction = ($isAPIKey || $isPrivilegedUser) - ? Authorization::skip(fn () => $dbForProject->getDocument('transactions', $transactionId)) + ? $authorization->skip(fn () => $dbForProject->getDocument('transactions', $transactionId)) : $dbForProject->getDocument('transactions', $transactionId); if ($transaction->isEmpty()) { throw new Exception(Exception::TRANSACTION_NOT_FOUND); @@ -361,6 +362,7 @@ class Upsert extends Action document: $document, dbForProject: $dbForProject, collectionsCache: $collectionsCache, + authorization: $authorization ); $relationships = \array_map( diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/XList.php index 630170a031..a5a3ac0eb4 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/XList.php @@ -74,20 +74,21 @@ class XList extends Action ->inject('dbForProject') ->inject('queueForStatsUsage') ->inject('transactionState') + ->inject('authorization') ->callback($this->action(...)); } - public function action(string $databaseId, string $collectionId, array $queries, ?string $transactionId, bool $includeTotal, UtopiaResponse $response, Database $dbForProject, StatsUsage $queueForStatsUsage, TransactionState $transactionState): void + public function action(string $databaseId, string $collectionId, array $queries, ?string $transactionId, bool $includeTotal, UtopiaResponse $response, Database $dbForProject, StatsUsage $queueForStatsUsage, TransactionState $transactionState, Authorization $authorization): void { - $isAPIKey = Auth::isAppUser(Authorization::getRoles()); - $isPrivilegedUser = Auth::isPrivilegedUser(Authorization::getRoles()); + $isAPIKey = Auth::isAppUser($authorization->getRoles()); + $isPrivilegedUser = Auth::isPrivilegedUser($authorization->getRoles()); - $database = Authorization::skip(fn () => $dbForProject->getDocument('databases', $databaseId)); + $database = $authorization->skip(fn () => $dbForProject->getDocument('databases', $databaseId)); if ($database->isEmpty() || (!$database->getAttribute('enabled', false) && !$isAPIKey && !$isPrivilegedUser)) { throw new Exception(Exception::DATABASE_NOT_FOUND); } - $collection = Authorization::skip(fn () => $dbForProject->getDocument('database_' . $database->getSequence(), $collectionId)); + $collection = $authorization->skip(fn () => $dbForProject->getDocument('database_' . $database->getSequence(), $collectionId)); if ($collection->isEmpty() || (!$collection->getAttribute('enabled', false) && !$isAPIKey && !$isPrivilegedUser)) { throw new Exception($this->getParentNotFoundException()); } @@ -115,7 +116,7 @@ class XList extends Action $documentId = $cursor->getValue(); - $cursorDocument = Authorization::skip(fn () => $dbForProject->getDocument('database_' . $database->getSequence() . '_collection_' . $collection->getSequence(), $documentId)); + $cursorDocument = $authorization->skip(fn () => $dbForProject->getDocument('database_' . $database->getSequence() . '_collection_' . $collection->getSequence(), $documentId)); if ($cursorDocument->isEmpty()) { $type = ucfirst($this->getContext()); @@ -161,7 +162,8 @@ class XList extends Action document: $document, dbForProject: $dbForProject, collectionsCache: $collectionsCache, - operations: $operations, + authorization: $authorization, + operations: $operations ); } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Get.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Get.php index 89739570c7..725b53ff9e 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Get.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Get.php @@ -57,12 +57,13 @@ class Get extends Action ->param('collectionId', '', new UID(), 'Collection ID.') ->inject('response') ->inject('dbForProject') + ->inject('authorization') ->callback($this->action(...)); } - public function action(string $databaseId, string $collectionId, UtopiaResponse $response, Database $dbForProject): void + public function action(string $databaseId, string $collectionId, UtopiaResponse $response, Database $dbForProject, Authorization $authorization): void { - $database = Authorization::skip(fn () => $dbForProject->getDocument('databases', $databaseId)); + $database = $authorization->skip(fn () => $dbForProject->getDocument('databases', $databaseId)); if ($database->isEmpty()) { throw new Exception(Exception::DATABASE_NOT_FOUND); diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Indexes/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Indexes/Create.php index 9fb438d577..6afc29a265 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Indexes/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Indexes/Create.php @@ -79,12 +79,13 @@ class Create extends Action ->inject('dbForProject') ->inject('queueForDatabase') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } - public function action(string $databaseId, string $collectionId, string $key, string $type, array $attributes, array $orders, array $lengths, UtopiaResponse $response, Database $dbForProject, EventDatabase $queueForDatabase, Event $queueForEvents): void + public function action(string $databaseId, string $collectionId, string $key, string $type, array $attributes, array $orders, array $lengths, UtopiaResponse $response, Database $dbForProject, EventDatabase $queueForDatabase, Event $queueForEvents, Authorization $authorization): void { - $db = Authorization::skip(fn () => $dbForProject->getDocument('databases', $databaseId)); + $db = $authorization->skip(fn () => $dbForProject->getDocument('databases', $databaseId)); if ($db->isEmpty()) { throw new Exception(Exception::DATABASE_NOT_FOUND); diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Indexes/Delete.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Indexes/Delete.php index 2bccfdfb52..89d79ef353 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Indexes/Delete.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Indexes/Delete.php @@ -70,12 +70,13 @@ class Delete extends Action ->inject('dbForProject') ->inject('queueForDatabase') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } - public function action(string $databaseId, string $collectionId, string $key, UtopiaResponse $response, Database $dbForProject, EventDatabase $queueForDatabase, Event $queueForEvents): void + public function action(string $databaseId, string $collectionId, string $key, UtopiaResponse $response, Database $dbForProject, EventDatabase $queueForDatabase, Event $queueForEvents, Authorization $authorization): void { - $db = Authorization::skip(fn () => $dbForProject->getDocument('databases', $databaseId)); + $db = $authorization->skip(fn () => $dbForProject->getDocument('databases', $databaseId)); if ($db->isEmpty()) { throw new Exception(Exception::DATABASE_NOT_FOUND); diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Indexes/Get.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Indexes/Get.php index 3d118d1922..27e0767f88 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Indexes/Get.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Indexes/Get.php @@ -59,12 +59,13 @@ class Get extends Action ->param('key', null, new Key(), 'Index Key.') ->inject('response') ->inject('dbForProject') + ->inject('authorization') ->callback($this->action(...)); } - public function action(string $databaseId, string $collectionId, string $key, UtopiaResponse $response, Database $dbForProject): void + public function action(string $databaseId, string $collectionId, string $key, UtopiaResponse $response, Database $dbForProject, Authorization $authorization): void { - $database = Authorization::skip(fn () => $dbForProject->getDocument('databases', $databaseId)); + $database = $authorization->skip(fn () => $dbForProject->getDocument('databases', $databaseId)); if ($database->isEmpty()) { throw new Exception(Exception::DATABASE_NOT_FOUND); diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Indexes/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Indexes/XList.php index 88b3a32e0b..d6e59dc4fa 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Indexes/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Indexes/XList.php @@ -66,13 +66,14 @@ class XList extends Action ->param('total', true, new Boolean(true), 'When set to false, the total count returned will be 0 and will not be calculated.', true) ->inject('response') ->inject('dbForProject') + ->inject('authorization') ->callback($this->action(...)); } - public function action(string $databaseId, string $collectionId, array $queries, bool $includeTotal, UtopiaResponse $response, Database $dbForProject): void + public function action(string $databaseId, string $collectionId, array $queries, bool $includeTotal, UtopiaResponse $response, Database $dbForProject, Authorization $authorization): void { /** @var Document $database */ - $database = Authorization::skip(fn () => $dbForProject->getDocument('databases', $databaseId)); + $database = $authorization->skip(fn () => $dbForProject->getDocument('databases', $databaseId)); if ($database->isEmpty()) { throw new Exception(Exception::DATABASE_NOT_FOUND); @@ -112,7 +113,7 @@ class XList extends Action } $indexId = $cursor->getValue(); - $cursorDocument = Authorization::skip(fn () => $dbForProject->find('indexes', [ + $cursorDocument = $authorization->skip(fn () => $dbForProject->find('indexes', [ Query::equal('collectionInternalId', [$collection->getSequence()]), Query::equal('databaseInternalId', [$database->getSequence()]), Query::equal('key', [$indexId]), diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Logs/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Logs/XList.php index b202120bad..f193c15299 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Logs/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Logs/XList.php @@ -72,12 +72,13 @@ class XList extends Action ->inject('dbForProject') ->inject('locale') ->inject('geodb') + ->inject('authorization') ->callback($this->action(...)); } - public function action(string $databaseId, string $collectionId, array $queries, UtopiaResponse $response, Database $dbForProject, Locale $locale, Reader $geodb): void + public function action(string $databaseId, string $collectionId, array $queries, UtopiaResponse $response, Database $dbForProject, Locale $locale, Reader $geodb, Authorization $authorization): void { - $database = Authorization::skip(fn () => $dbForProject->getDocument('databases', $databaseId)); + $database = $authorization->skip(fn () => $dbForProject->getDocument('databases', $databaseId)); if ($database->isEmpty()) { throw new Exception(Exception::DATABASE_NOT_FOUND); @@ -115,9 +116,9 @@ class XList extends Action $detector = new Detector($log['userAgent']); $detector->skipBotDetection(); // OPTIONAL: If called, bot detection will completely be skipped (bots will be detected as regular devices then) - $os = $detector->getOS(); - $client = $detector->getClient(); - $device = $detector->getDevice(); + $os = $detector->getOS() ?: []; + $client = $detector->getClient() ?: []; + $device = $detector->getDevice() ?: []; $output[$i] = new Document([ 'event' => $log['event'], @@ -125,20 +126,20 @@ class XList extends Action 'userEmail' => $log['data']['userEmail'] ?? null, 'userName' => $log['data']['userName'] ?? null, 'mode' => $log['data']['mode'] ?? null, - 'ip' => $log['ip'], - 'time' => $log['time'], - 'osCode' => $os['osCode'], - 'osName' => $os['osName'], - 'osVersion' => $os['osVersion'], - 'clientType' => $client['clientType'], - 'clientCode' => $client['clientCode'], - 'clientName' => $client['clientName'], - 'clientVersion' => $client['clientVersion'], - 'clientEngine' => $client['clientEngine'], - 'clientEngineVersion' => $client['clientEngineVersion'], - 'deviceName' => $device['deviceName'], - 'deviceBrand' => $device['deviceBrand'], - 'deviceModel' => $device['deviceModel'] + 'ip' => $log['ip'] ?? null, + 'time' => $log['time'] ?? null, + 'osCode' => $os['osCode'] ?? null, + 'osName' => $os['osName'] ?? null, + 'osVersion' => $os['osVersion'] ?? null, + 'clientType' => $client['clientType'] ?? null, + 'clientCode' => $client['clientCode'] ?? null, + 'clientName' => $client['clientName'] ?? null, + 'clientVersion' => $client['clientVersion'] ?? null, + 'clientEngine' => $client['clientEngine'] ?? null, + 'clientEngineVersion' => $client['clientEngineVersion'] ?? null, + 'deviceName' => $device['deviceName'] ?? null, + 'deviceBrand' => $device['deviceBrand'] ?? null, + 'deviceModel' => $device['deviceModel'] ?? null ]); $record = $geodb->get($log['ip']); diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Update.php index 7575c9803b..c26a68c068 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Update.php @@ -71,12 +71,13 @@ class Update extends Action ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } - public function action(string $databaseId, string $collectionId, string $name, ?array $permissions, bool $documentSecurity, bool $enabled, UtopiaResponse $response, Database $dbForProject, Event $queueForEvents): void + public function action(string $databaseId, string $collectionId, string $name, ?array $permissions, bool $documentSecurity, bool $enabled, UtopiaResponse $response, Database $dbForProject, Event $queueForEvents, Authorization $authorization): void { - $database = Authorization::skip(fn () => $dbForProject->getDocument('databases', $databaseId)); + $database = $authorization->skip(fn () => $dbForProject->getDocument('databases', $databaseId)); if ($database->isEmpty()) { throw new Exception(Exception::DATABASE_NOT_FOUND); } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Usage/Get.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Usage/Get.php index 9cf7b85267..beca779bf6 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Usage/Get.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Usage/Get.php @@ -63,10 +63,11 @@ class Get extends Action ->param('collectionId', '', new UID(), 'Collection ID.') ->inject('response') ->inject('dbForProject') + ->inject('authorization') ->callback($this->action(...)); } - public function action(string $databaseId, string $range, string $collectionId, UtopiaResponse $response, Database $dbForProject): void + public function action(string $databaseId, string $range, string $collectionId, UtopiaResponse $response, Database $dbForProject, Authorization $authorization): void { $database = $dbForProject->getDocument('databases', $databaseId); $collectionDocument = $dbForProject->getDocument('database_' . $database->getSequence(), $collectionId); @@ -83,7 +84,7 @@ class Get extends Action str_replace(['{databaseInternalId}', '{collectionInternalId}'], [$database->getSequence(), $collectionDocument->getSequence()], METRIC_DATABASE_ID_COLLECTION_ID_DOCUMENTS), ]; - Authorization::skip(function () use ($dbForProject, $days, $metrics, &$stats) { + $authorization->skip(function () use ($dbForProject, $days, $metrics, &$stats) { foreach ($metrics as $metric) { $result = $dbForProject->findOne('stats', [ Query::equal('metric', [$metric]), diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/XList.php index 286e48420a..11b60e35a7 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/XList.php @@ -67,12 +67,13 @@ class XList extends Action ->param('total', true, new Boolean(true), 'When set to false, the total count returned will be 0 and will not be calculated.', true) ->inject('response') ->inject('dbForProject') + ->inject('authorization') ->callback($this->action(...)); } - public function action(string $databaseId, array $queries, string $search, bool $includeTotal, UtopiaResponse $response, Database $dbForProject): void + public function action(string $databaseId, array $queries, string $search, bool $includeTotal, UtopiaResponse $response, Database $dbForProject, Authorization $authorization): void { - $database = Authorization::skip(fn () => $dbForProject->getDocument('databases', $databaseId)); + $database = $authorization->skip(fn () => $dbForProject->getDocument('databases', $databaseId)); if ($database->isEmpty()) { throw new Exception(Exception::DATABASE_NOT_FOUND); diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/Create.php index c4c5bf8b51..41d3f3022a 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/Create.php @@ -55,10 +55,11 @@ class Create extends Action ->inject('response') ->inject('dbForProject') ->inject('user') + ->inject('authorization') ->callback($this->action(...)); } - public function action(int $ttl, UtopiaResponse $response, Database $dbForProject, Document $user): void + public function action(int $ttl, UtopiaResponse $response, Database $dbForProject, Document $user, Authorization $authorization): void { $permissions = []; if (!empty($user->getId())) { @@ -73,7 +74,7 @@ class Create extends Action } } - $transaction = Authorization::skip(fn () => $dbForProject->createDocument('transactions', new Document([ + $transaction = $authorization->skip(fn () => $dbForProject->createDocument('transactions', new Document([ '$id' => ID::unique(), '$permissions' => $permissions, 'status' => 'pending', diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/Operations/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/Operations/Create.php index bd94c1c7eb..98a0708f66 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/Operations/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/Operations/Create.php @@ -18,6 +18,7 @@ use Utopia\Database\Helpers\ID; use Utopia\Database\Helpers\Permission; use Utopia\Database\Helpers\Role; use Utopia\Database\Validator\Authorization; +use Utopia\Database\Validator\Authorization\Input; use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; use Utopia\Validator\ArrayList; @@ -63,21 +64,22 @@ class Create extends Action ->inject('dbForProject') ->inject('transactionState') ->inject('plan') + ->inject('authorization') ->callback($this->action(...)); } - public function action(string $transactionId, array $operations, UtopiaResponse $response, Database $dbForProject, TransactionState $transactionState, array $plan): void + public function action(string $transactionId, array $operations, UtopiaResponse $response, Database $dbForProject, TransactionState $transactionState, array $plan, Authorization $authorization): void { if (empty($operations)) { throw new Exception(Exception::GENERAL_BAD_REQUEST, 'Operations array cannot be empty'); } - $isAPIKey = Auth::isAppUser(Authorization::getRoles()); - $isPrivilegedUser = Auth::isPrivilegedUser(Authorization::getRoles()); + $isAPIKey = Auth::isAppUser($authorization->getRoles()); + $isPrivilegedUser = Auth::isPrivilegedUser($authorization->getRoles()); // API keys and admins can read any transaction, regular users need permissions $transaction = ($isAPIKey || $isPrivilegedUser) - ? Authorization::skip(fn () => $dbForProject->getDocument('transactions', $transactionId)) + ? $authorization->skip(fn () => $dbForProject->getDocument('transactions', $transactionId)) : $dbForProject->getDocument('transactions', $transactionId); if ($transaction->isEmpty()) { throw new Exception(Exception::TRANSACTION_NOT_FOUND); @@ -113,13 +115,13 @@ class Create extends Action throw new Exception(Exception::USER_UNAUTHORIZED); } - $database = $databases[$operation['databaseId']] ??= Authorization::skip(fn () => $dbForProject->getDocument('databases', $operation['databaseId'])); + $database = $databases[$operation['databaseId']] ??= $authorization->skip(fn () => $dbForProject->getDocument('databases', $operation['databaseId'])); if ($database->isEmpty() || (!$database->getAttribute('enabled', false) && !$isAPIKey && !$isPrivilegedUser)) { throw new Exception(Exception::DATABASE_NOT_FOUND); } $collection = $collections[$operation[$this->getGroupId()]] ??= - Authorization::skip(fn () => $dbForProject->getDocument('database_' . $database->getSequence(), $operation[$this->getGroupId()])); + $authorization->skip(fn () => $dbForProject->getDocument('database_' . $database->getSequence(), $operation[$this->getGroupId()])); if ($collection->isEmpty() || (!$collection->getAttribute('enabled', false) && !$isAPIKey && !$isPrivilegedUser)) { throw new Exception(Exception::COLLECTION_NOT_FOUND); @@ -165,14 +167,20 @@ class Create extends Action // For individual operations, enforce permissions unless using API key/admin if (!$isAPIKey && !$isPrivilegedUser) { $documentSecurity = $collection->getAttribute('documentSecurity', false); - $validator = new Authorization($permissionType); - $collectionValid = $validator->isValid($collection->getPermissionsByType($permissionType)); + + $collectionValid = $authorization->isValid( + new Input($permissionType, $collection->getPermissionsByType($permissionType)) + ); $documentValid = false; if ($document !== null && !$document->isEmpty() && $documentSecurity) { if ($permissionType === Database::PERMISSION_UPDATE) { - $documentValid = $validator->isValid($document->getUpdate()); + $documentValid = $authorization->isValid( + new Input(Database::PERMISSION_UPDATE, $document->getUpdate()) + ); } elseif ($permissionType === Database::PERMISSION_DELETE) { - $documentValid = $validator->isValid($document->getDelete()); + $documentValid = $authorization->isValid( + new Input(Database::PERMISSION_DELETE, $document->getDelete()) + ); } } @@ -189,7 +197,7 @@ class Create extends Action // Users can only set permissions for roles they have if (isset($operation['data']['$permissions'])) { $permissions = $operation['data']['$permissions']; - $roles = Authorization::getRoles(); + $roles = $authorization->getRoles(); foreach (Database::PERMISSIONS as $type) { foreach ($permissions as $permission) { $permission = Permission::parse($permission); @@ -201,7 +209,7 @@ class Create extends Action $permission->getIdentifier(), $permission->getDimension() ))->toString(); - if (!Authorization::isRole($role)) { + if (!$authorization->hasRole($role)) { throw new Exception(Exception::USER_UNAUTHORIZED, 'Permissions must be one of: (' . \implode(', ', $roles) . ')'); } } @@ -230,7 +238,7 @@ class Create extends Action } } - $transaction = Authorization::skip(fn () => $dbForProject->withTransaction(function () use ($dbForProject, $transactionId, $staged, $existing, $operations) { + $transaction = $authorization->skip(fn () => $dbForProject->withTransaction(function () use ($dbForProject, $transactionId, $staged, $existing, $operations) { $dbForProject->createDocuments('transactionLogs', $staged); return $dbForProject->increaseDocumentAttribute( 'transactions', diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/Update.php index 899c2b3eaf..ec5f0e4c04 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/Update.php @@ -76,6 +76,7 @@ class Update extends Action ->inject('queueForRealtime') ->inject('queueForFunctions') ->inject('queueForWebhooks') + ->inject('authorization') ->callback($this->action(...)); } @@ -102,7 +103,7 @@ class Update extends Action * @throws Structure * @throws \Utopia\Exception */ - public function action(string $transactionId, bool $commit, bool $rollback, UtopiaResponse $response, Database $dbForProject, Document $user, TransactionState $transactionState, Delete $queueForDeletes, Event $queueForEvents, StatsUsage $queueForStatsUsage, Event $queueForRealtime, Event $queueForFunctions, Event $queueForWebhooks): void + public function action(string $transactionId, bool $commit, bool $rollback, UtopiaResponse $response, Database $dbForProject, Document $user, TransactionState $transactionState, Delete $queueForDeletes, Event $queueForEvents, StatsUsage $queueForStatsUsage, Event $queueForRealtime, Event $queueForFunctions, Event $queueForWebhooks, Authorization $authorization): void { if (!$commit && !$rollback) { throw new Exception(Exception::GENERAL_BAD_REQUEST, 'Either commit or rollback must be true'); @@ -111,11 +112,11 @@ class Update extends Action throw new Exception(Exception::GENERAL_BAD_REQUEST, 'Cannot commit and rollback at the same time'); } - $isAPIKey = Auth::isAppUser(Authorization::getRoles()); - $isPrivilegedUser = Auth::isPrivilegedUser(Authorization::getRoles()); + $isAPIKey = Auth::isAppUser($authorization->getRoles()); + $isPrivilegedUser = Auth::isPrivilegedUser($authorization->getRoles()); $transaction = ($isAPIKey || $isPrivilegedUser) - ? Authorization::skip(fn () => $dbForProject->getDocument('transactions', $transactionId)) + ? $authorization->skip(fn () => $dbForProject->getDocument('transactions', $transactionId)) : $dbForProject->getDocument('transactions', $transactionId); if ($transaction->isEmpty()) { throw new Exception(Exception::TRANSACTION_NOT_FOUND); @@ -137,12 +138,12 @@ class Update extends Action $databaseOperations = []; try { - $dbForProject->withTransaction(function () use ($dbForProject, $transactionState, $queueForDeletes, $transactionId, &$transaction, &$operations, &$totalOperations, &$databaseOperations, $queueForEvents, $queueForStatsUsage, $queueForRealtime, $queueForFunctions, $queueForWebhooks) { - Authorization::skip(fn () => $dbForProject->updateDocument('transactions', $transactionId, new Document([ + $dbForProject->withTransaction(function () use ($dbForProject, $transactionState, $queueForDeletes, $transactionId, &$transaction, &$operations, &$totalOperations, &$databaseOperations, $queueForEvents, $queueForStatsUsage, $queueForRealtime, $queueForFunctions, $queueForWebhooks, $authorization) { + $authorization->skip(fn () => $dbForProject->updateDocument('transactions', $transactionId, new Document([ 'status' => 'committing', ]))); - $operations = Authorization::skip(fn () => $dbForProject->find('transactionLogs', [ + $operations = $authorization->skip(fn () => $dbForProject->find('transactionLogs', [ Query::equal('transactionInternalId', [$transaction->getSequence()]), Query::orderAsc(), Query::limit(PHP_INT_MAX), @@ -165,7 +166,7 @@ class Update extends Action } if (!isset($collections[$collectionId])) { - $collections[$collectionId] = Authorization::skip( + $collections[$collectionId] = $authorization->skip( fn () => $dbForProject->getCollection($collectionId) ); } @@ -230,7 +231,7 @@ class Update extends Action } } - $transaction = Authorization::skip(fn () => $dbForProject->updateDocument( + $transaction = $authorization->skip(fn () => $dbForProject->updateDocument( 'transactions', $transactionId, new Document(['status' => 'committed']) @@ -242,32 +243,32 @@ class Update extends Action }); } catch (NotFoundException $e) { - Authorization::skip(fn () => $dbForProject->updateDocument('transactions', $transactionId, new Document([ + $authorization->skip(fn () => $dbForProject->updateDocument('transactions', $transactionId, new Document([ 'status' => 'failed', ]))); throw new Exception(Exception::DOCUMENT_NOT_FOUND, previous: $e); } catch (DuplicateException|ConflictException $e) { - Authorization::skip(fn () => $dbForProject->updateDocument('transactions', $transactionId, new Document([ + $authorization->skip(fn () => $dbForProject->updateDocument('transactions', $transactionId, new Document([ 'status' => 'failed', ]))); throw new Exception(Exception::TRANSACTION_CONFLICT, previous: $e); } catch (StructureException $e) { - Authorization::skip(fn () => $dbForProject->updateDocument('transactions', $transactionId, new Document([ + $authorization->skip(fn () => $dbForProject->updateDocument('transactions', $transactionId, new Document([ 'status' => 'failed', ]))); throw new Exception(Exception::DOCUMENT_INVALID_STRUCTURE, $e->getMessage()); } catch (LimitException $e) { - Authorization::skip(fn () => $dbForProject->updateDocument('transactions', $transactionId, new Document([ + $authorization->skip(fn () => $dbForProject->updateDocument('transactions', $transactionId, new Document([ 'status' => 'failed', ]))); throw new Exception(Exception::ATTRIBUTE_LIMIT_EXCEEDED, $e->getMessage()); } catch (TransactionException $e) { - Authorization::skip(fn () => $dbForProject->updateDocument('transactions', $transactionId, new Document([ + $authorization->skip(fn () => $dbForProject->updateDocument('transactions', $transactionId, new Document([ 'status' => 'failed', ]))); throw new Exception(Exception::TRANSACTION_FAILED, $e->getMessage()); } catch (QueryException $e) { - Authorization::skip(fn () => $dbForProject->updateDocument('transactions', $transactionId, new Document([ + $authorization->skip(fn () => $dbForProject->updateDocument('transactions', $transactionId, new Document([ 'status' => 'failed', ]))); throw new Exception(Exception::GENERAL_QUERY_INVALID, $e->getMessage()); @@ -295,11 +296,11 @@ class Update extends Action $data = $data->getArrayCopy(); } - $database = Authorization::skip(fn () => $dbForProject->findOne('databases', [ + $database = $authorization->skip(fn () => $dbForProject->findOne('databases', [ Query::equal('$sequence', [$databaseInternalId]) ])); - $collection = Authorization::skip(fn () => $dbForProject->findOne('database_' . $databaseInternalId, [ + $collection = $authorization->skip(fn () => $dbForProject->findOne('database_' . $databaseInternalId, [ Query::equal('$sequence', [$collectionInternalId]) ])); @@ -391,7 +392,7 @@ class Update extends Action } if ($rollback) { - $transaction = Authorization::skip(fn () => $dbForProject->updateDocument( + $transaction = $authorization->skip(fn () => $dbForProject->updateDocument( 'transactions', $transactionId, new Document(['status' => 'failed']) diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Usage/Get.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Usage/Get.php index c9de9d5217..7668ad0a79 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Usage/Get.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Usage/Get.php @@ -59,10 +59,11 @@ class Get extends Action ->param('range', '30d', new WhiteList(['24h', '30d', '90d'], true), 'Date range.', true) ->inject('response') ->inject('dbForProject') + ->inject('authorization') ->callback($this->action(...)); } - public function action(string $databaseId, string $range, UtopiaResponse $response, Database $dbForProject): void + public function action(string $databaseId, string $range, UtopiaResponse $response, Database $dbForProject, Authorization $authorization): void { $database = $dbForProject->getDocument('databases', $databaseId); @@ -81,7 +82,7 @@ class Get extends Action str_replace('{databaseInternalId}', $database->getSequence(), METRIC_DATABASE_ID_OPERATIONS_WRITES) ]; - Authorization::skip(function () use ($dbForProject, $days, $metrics, &$stats) { + $authorization->skip(function () use ($dbForProject, $days, $metrics, &$stats) { foreach ($metrics as $metric) { $result = $dbForProject->findOne('stats', [ Query::equal('metric', [$metric]), diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Usage/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Usage/XList.php index c13149cfc7..757f845c68 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Usage/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Usage/XList.php @@ -56,10 +56,11 @@ class XList extends Action ->param('range', '30d', new WhiteList(['24h', '30d', '90d'], true), 'Date range.', true) ->inject('response') ->inject('dbForProject') + ->inject('authorization') ->callback($this->action(...)); } - public function action(string $range, UtopiaResponse $response, Database $dbForProject): void + public function action(string $range, UtopiaResponse $response, Database $dbForProject, Authorization $authorization): void { $periods = Config::getParam('usage', []); @@ -74,7 +75,7 @@ class XList extends Action METRIC_DATABASES_OPERATIONS_WRITES, ]; - Authorization::skip(function () use ($dbForProject, $days, $metrics, &$stats) { + $authorization->skip(function () use ($dbForProject, $days, $metrics, &$stats) { foreach ($metrics as $metric) { $result = $dbForProject->findOne('stats', [ Query::equal('metric', [$metric]), diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Boolean/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Boolean/Create.php index d9dfc15ca8..44674b68ca 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Boolean/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Boolean/Create.php @@ -60,6 +60,7 @@ class Create extends BooleanCreate ->inject('dbForProject') ->inject('queueForDatabase') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Boolean/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Boolean/Update.php index 3b83e71c12..b3643b0e18 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Boolean/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Boolean/Update.php @@ -61,6 +61,7 @@ class Update extends BooleanUpdate ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Datetime/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Datetime/Create.php index 69d6bd2b4b..5a5970c3bb 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Datetime/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Datetime/Create.php @@ -62,6 +62,7 @@ class Create extends DatetimeCreate ->inject('dbForProject') ->inject('queueForDatabase') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Datetime/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Datetime/Update.php index 255abf00bf..08bb04b4e5 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Datetime/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Datetime/Update.php @@ -63,6 +63,7 @@ class Update extends DatetimeUpdate ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Delete.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Delete.php index 26f4ffa898..62152453fe 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Delete.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Delete.php @@ -58,6 +58,7 @@ class Delete extends AttributesDelete ->inject('dbForProject') ->inject('queueForDatabase') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Email/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Email/Create.php index 58ea459d0f..050e031591 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Email/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Email/Create.php @@ -61,6 +61,7 @@ class Create extends EmailCreate ->inject('dbForProject') ->inject('queueForDatabase') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Email/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Email/Update.php index 0105345555..c58257c8e1 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Email/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Email/Update.php @@ -62,6 +62,7 @@ class Update extends EmailUpdate ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Enum/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Enum/Create.php index 8ab8019626..cc2c109f6a 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Enum/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Enum/Create.php @@ -64,6 +64,7 @@ class Create extends EnumCreate ->inject('dbForProject') ->inject('queueForDatabase') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Enum/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Enum/Update.php index 968c84c56b..bdb32de1ab 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Enum/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Enum/Update.php @@ -65,6 +65,7 @@ class Update extends EnumUpdate ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Float/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Float/Create.php index 21e855d912..acc82f406b 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Float/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Float/Create.php @@ -63,6 +63,7 @@ class Create extends FloatCreate ->inject('dbForProject') ->inject('queueForDatabase') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Float/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Float/Update.php index 6a479ea266..f53cd711e0 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Float/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Float/Update.php @@ -64,6 +64,7 @@ class Update extends FloatUpdate ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Get.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Get.php index c20ef58a39..0e7e079a02 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Get.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Get.php @@ -61,6 +61,7 @@ class Get extends AttributesGet ->param('key', '', new Key(), 'Column Key.') ->inject('response') ->inject('dbForProject') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/IP/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/IP/Create.php index 08912ebb56..804ebc6e14 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/IP/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/IP/Create.php @@ -61,6 +61,7 @@ class Create extends IPCreate ->inject('dbForProject') ->inject('queueForDatabase') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/IP/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/IP/Update.php index 9df9f573a2..e600c0a349 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/IP/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/IP/Update.php @@ -62,6 +62,7 @@ class Update extends IPUpdate ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Integer/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Integer/Create.php index eb9230f48f..1980234536 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Integer/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Integer/Create.php @@ -63,6 +63,7 @@ class Create extends IntegerCreate ->inject('dbForProject') ->inject('queueForDatabase') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Integer/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Integer/Update.php index 6c707f1655..cbf574010c 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Integer/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Integer/Update.php @@ -64,6 +64,7 @@ class Update extends IntegerUpdate ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Line/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Line/Create.php index 4aa173707b..469fb6851f 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Line/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Line/Create.php @@ -61,6 +61,7 @@ class Create extends LineCreate ->inject('dbForProject') ->inject('queueForDatabase') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Line/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Line/Update.php index fd7d200eb3..b6a1336c00 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Line/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Line/Update.php @@ -63,6 +63,7 @@ class Update extends LineUpdate ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Point/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Point/Create.php index b8ae563def..715348e1f4 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Point/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Point/Create.php @@ -61,6 +61,7 @@ class Create extends PointCreate ->inject('dbForProject') ->inject('queueForDatabase') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Point/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Point/Update.php index 8b8dd7b66c..c0c4c10689 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Point/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Point/Update.php @@ -63,6 +63,7 @@ class Update extends PointUpdate ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Polygon/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Polygon/Create.php index e0a2cf32cd..38c9eaf284 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Polygon/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Polygon/Create.php @@ -61,6 +61,7 @@ class Create extends PolygonCreate ->inject('dbForProject') ->inject('queueForDatabase') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Polygon/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Polygon/Update.php index c49351fc59..12d6b95a72 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Polygon/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Polygon/Update.php @@ -63,6 +63,7 @@ class Update extends PolygonUpdate ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Relationship/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Relationship/Create.php index cccc61beaa..84c2123f4d 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Relationship/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Relationship/Create.php @@ -73,6 +73,7 @@ class Create extends RelationshipCreate ->inject('dbForProject') ->inject('queueForDatabase') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Relationship/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Relationship/Update.php index 5953d600f8..b87fc3d33a 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Relationship/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Relationship/Update.php @@ -65,6 +65,7 @@ class Update extends RelationshipUpdate ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/String/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/String/Create.php index 8d37c9011b..02a04a2da0 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/String/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/String/Create.php @@ -66,6 +66,7 @@ class Create extends StringCreate ->inject('queueForDatabase') ->inject('queueForEvents') ->inject('plan') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/String/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/String/Update.php index 43083616ba..9270d7d7c7 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/String/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/String/Update.php @@ -65,6 +65,7 @@ class Update extends StringUpdate ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/URL/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/URL/Create.php index 3fd6f1e463..051e8cbbbb 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/URL/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/URL/Create.php @@ -61,6 +61,7 @@ class Create extends URLCreate ->inject('dbForProject') ->inject('queueForDatabase') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/URL/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/URL/Update.php index 64dfdfbf69..8854e701ef 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/URL/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/URL/Update.php @@ -62,6 +62,7 @@ class Update extends URLUpdate ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/XList.php index 1e0b641b32..950d38f8a7 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/XList.php @@ -52,6 +52,7 @@ class XList extends AttributesXList ->param('total', true, new Boolean(true), 'When set to false, the total count returned will be 0 and will not be calculated.', true) ->inject('response') ->inject('dbForProject') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Create.php index 68d3e772ec..5b598b1a12 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Create.php @@ -63,6 +63,7 @@ class Create extends CollectionCreate ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Delete.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Delete.php index de068d5b29..79b9e7beef 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Delete.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Delete.php @@ -55,6 +55,7 @@ class Delete extends CollectionDelete ->inject('dbForProject') ->inject('queueForDatabase') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Get.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Get.php index be6ec5d9e7..e264ec0411 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Get.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Get.php @@ -50,6 +50,7 @@ class Get extends CollectionGet ->param('tableId', '', new UID(), 'Table ID.') ->inject('response') ->inject('dbForProject') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Indexes/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Indexes/Create.php index 3802ee32b8..165f014320 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Indexes/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Indexes/Create.php @@ -2,6 +2,8 @@ namespace Appwrite\Platform\Modules\Databases\Http\TablesDB\Tables\Indexes; +use Appwrite\Event\Database as EventDatabase; +use Appwrite\Event\Event; use Appwrite\Platform\Modules\Databases\Http\Databases\Collections\Indexes\Create as IndexCreate; use Appwrite\SDK\AuthType; use Appwrite\SDK\ContentType; @@ -9,6 +11,7 @@ use Appwrite\SDK\Method; use Appwrite\SDK\Response as SDKResponse; use Appwrite\Utopia\Response as UtopiaResponse; use Utopia\Database\Database; +use Utopia\Database\Validator\Authorization; use Utopia\Database\Validator\Key; use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; @@ -66,6 +69,15 @@ class Create extends IndexCreate ->inject('dbForProject') ->inject('queueForDatabase') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } + + public function action(string $databaseId, string $tableId, string $key, string $type, array $columns, array $orders, array $lengths, UtopiaResponse $response, Database $dbForProject, EventDatabase $queueForDatabase, Event $queueForEvents, Authorization $authorization): void + { + // Map TablesDB parameters to Collections API parameters + // tableId -> collectionId + // columns -> attributes + parent::action($databaseId, $tableId, $key, $type, $columns, $orders, $lengths, $response, $dbForProject, $queueForDatabase, $queueForEvents, $authorization); + } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Indexes/Delete.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Indexes/Delete.php index 57ab466ee8..cb552a086c 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Indexes/Delete.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Indexes/Delete.php @@ -61,6 +61,7 @@ class Delete extends IndexDelete ->inject('dbForProject') ->inject('queueForDatabase') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Indexes/Get.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Indexes/Get.php index 271d842631..3c01f1b64d 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Indexes/Get.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Indexes/Get.php @@ -52,6 +52,7 @@ class Get extends IndexGet ->param('key', null, new Key(), 'Index Key.') ->inject('response') ->inject('dbForProject') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Indexes/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Indexes/XList.php index 0ea52eaf1b..a6206f06dd 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Indexes/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Indexes/XList.php @@ -54,6 +54,7 @@ class XList extends IndexXList ->param('total', true, new Boolean(true), 'When set to false, the total count returned will be 0 and will not be calculated.', true) ->inject('response') ->inject('dbForProject') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Logs/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Logs/XList.php index 0680649544..f9111287c3 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Logs/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Logs/XList.php @@ -50,6 +50,7 @@ class XList extends CollectionLogXList ->inject('dbForProject') ->inject('locale') ->inject('geodb') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Bulk/Delete.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Bulk/Delete.php index accb0392fe..b9896d282d 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Bulk/Delete.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Bulk/Delete.php @@ -66,6 +66,7 @@ class Delete extends DocumentsDelete ->inject('queueForFunctions') ->inject('queueForWebhooks') ->inject('plan') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Bulk/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Bulk/Update.php index 856f17ed10..e3bf1f9eef 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Bulk/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Bulk/Update.php @@ -68,6 +68,7 @@ class Update extends DocumentsUpdate ->inject('queueForFunctions') ->inject('queueForWebhooks') ->inject('plan') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Bulk/Upsert.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Bulk/Upsert.php index 492af25e9f..69a687d92f 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Bulk/Upsert.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Bulk/Upsert.php @@ -68,6 +68,7 @@ class Upsert extends DocumentsUpsert ->inject('queueForFunctions') ->inject('queueForWebhooks') ->inject('plan') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Column/Decrement.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Column/Decrement.php index 42f2919ce1..a660b008e1 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Column/Decrement.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Column/Decrement.php @@ -67,6 +67,7 @@ class Decrement extends DecrementDocumentAttribute ->inject('queueForEvents') ->inject('queueForStatsUsage') ->inject('plan') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Column/Increment.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Column/Increment.php index 3d04d71c26..c2b69429ce 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Column/Increment.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Column/Increment.php @@ -67,6 +67,7 @@ class Increment extends IncrementDocumentAttribute ->inject('queueForEvents') ->inject('queueForStatsUsage') ->inject('plan') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Create.php index d657e5596b..4fe7c2f9f6 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Create.php @@ -111,6 +111,7 @@ class Create extends DocumentCreate ->inject('queueForFunctions') ->inject('queueForWebhooks') ->inject('plan') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Delete.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Delete.php index 4c8b599c8c..d76a907186 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Delete.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Delete.php @@ -70,6 +70,7 @@ class Delete extends DocumentDelete ->inject('queueForStatsUsage') ->inject('transactionState') ->inject('plan') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Get.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Get.php index f355ebb9e6..ebc751a8e6 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Get.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Get.php @@ -58,6 +58,7 @@ class Get extends DocumentGet ->inject('dbForProject') ->inject('queueForStatsUsage') ->inject('transactionState') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Logs/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Logs/XList.php index 5f1efa2953..5117e77ea9 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Logs/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Logs/XList.php @@ -51,6 +51,7 @@ class XList extends DocumentLogXList ->inject('dbForProject') ->inject('locale') ->inject('geodb') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Update.php index 8f3786b8cf..6265451b57 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Update.php @@ -69,6 +69,7 @@ class Update extends DocumentUpdate ->inject('queueForStatsUsage') ->inject('transactionState') ->inject('plan') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Upsert.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Upsert.php index d4cd61cfdd..105750ddbd 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Upsert.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Upsert.php @@ -72,6 +72,7 @@ class Upsert extends DocumentUpsert ->inject('queueForStatsUsage') ->inject('transactionState') ->inject('plan') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/XList.php index cd6141a6b4..9486a8abeb 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/XList.php @@ -59,6 +59,7 @@ class XList extends DocumentXList ->inject('dbForProject') ->inject('queueForStatsUsage') ->inject('transactionState') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Update.php index a4bfb5bf23..aea590168d 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Update.php @@ -62,6 +62,7 @@ class Update extends CollectionUpdate ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Usage/Get.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Usage/Get.php index 0fb44ee94a..b8be7edd56 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Usage/Get.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Usage/Get.php @@ -52,6 +52,7 @@ class Get extends CollectionUsageGet ->param('tableId', '', new UID(), 'Table ID.') ->inject('response') ->inject('dbForProject') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/XList.php index 5e8fcfc3c8..eafb291037 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/XList.php @@ -55,6 +55,7 @@ class XList extends CollectionXList ->param('total', true, new Boolean(true), 'When set to false, the total count returned will be 0 and will not be calculated.', true) ->inject('response') ->inject('dbForProject') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Transactions/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Transactions/Create.php index bc79b86ca3..1c6f0f95ca 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Transactions/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Transactions/Create.php @@ -50,6 +50,7 @@ class Create extends TransactionsCreate ->inject('response') ->inject('dbForProject') ->inject('user') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Transactions/Operations/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Transactions/Operations/Create.php index 5a98f22f37..2e3b73e395 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Transactions/Operations/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Transactions/Operations/Create.php @@ -54,6 +54,7 @@ class Create extends OperationsCreate ->inject('dbForProject') ->inject('transactionState') ->inject('plan') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Transactions/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Transactions/Update.php index 4d55af93a4..250c9e0bc4 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Transactions/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Transactions/Update.php @@ -60,6 +60,7 @@ class Update extends TransactionsUpdate ->inject('queueForRealtime') ->inject('queueForFunctions') ->inject('queueForWebhooks') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Usage/Get.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Usage/Get.php index 89b9fbd8c2..87be8a9eab 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Usage/Get.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Usage/Get.php @@ -48,6 +48,7 @@ class Get extends DatabaseUsageGet ->param('range', '30d', new WhiteList(['24h', '30d', '90d'], true), 'Date range.', true) ->inject('response') ->inject('dbForProject') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Usage/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Usage/XList.php index 0bd96fc40a..2cde337f5f 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Usage/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Usage/XList.php @@ -46,6 +46,7 @@ class XList extends DatabaseUsageXList ->param('range', '30d', new WhiteList(['24h', '30d', '90d'], true), 'Date range.', true) ->inject('response') ->inject('dbForProject') + ->inject('authorization') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Functions/Http/Executions/Create.php b/src/Appwrite/Platform/Modules/Functions/Http/Executions/Create.php index a699c0f097..593c3dde55 100644 --- a/src/Appwrite/Platform/Modules/Functions/Http/Executions/Create.php +++ b/src/Appwrite/Platform/Modules/Functions/Http/Executions/Create.php @@ -27,6 +27,7 @@ use Utopia\Database\Helpers\ID; use Utopia\Database\Helpers\Permission; use Utopia\Database\Helpers\Role; use Utopia\Database\Validator\Authorization; +use Utopia\Database\Validator\Authorization\Input; use Utopia\Database\Validator\Datetime as DatetimeValidator; use Utopia\Database\Validator\UID; use Utopia\Platform\Action; @@ -94,6 +95,7 @@ class Create extends Base ->inject('queueForFunctions') ->inject('geodb') ->inject('executor') + ->inject('authorization') ->callback($this->action(...)); } @@ -115,7 +117,8 @@ class Create extends Base StatsUsage $queueForStatsUsage, Func $queueForFunctions, Reader $geodb, - Executor $executor + Executor $executor, + Authorization $authorization ) { $async = \strval($async) === 'true' || \strval($async) === '1'; @@ -153,10 +156,10 @@ class Create extends Base throw new Exception($validator->getDescription(), 400); } - $function = Authorization::skip(fn () => $dbForProject->getDocument('functions', $functionId)); + $function = $authorization->skip(fn () => $dbForProject->getDocument('functions', $functionId)); - $isAPIKey = Auth::isAppUser(Authorization::getRoles()); - $isPrivilegedUser = Auth::isPrivilegedUser(Authorization::getRoles()); + $isAPIKey = Auth::isAppUser($authorization->getRoles()); + $isPrivilegedUser = Auth::isPrivilegedUser($authorization->getRoles()); if ($function->isEmpty() || (!$function->getAttribute('enabled') && !$isAPIKey && !$isPrivilegedUser)) { throw new Exception(Exception::FUNCTION_NOT_FOUND); @@ -172,7 +175,7 @@ class Create extends Base throw new Exception(Exception::FUNCTION_RUNTIME_UNSUPPORTED, 'Runtime "' . $function->getAttribute('runtime', '') . '" is not supported'); } - $deployment = Authorization::skip(fn () => $dbForProject->getDocument('deployments', $function->getAttribute('deploymentId', ''))); + $deployment = $authorization->skip(fn () => $dbForProject->getDocument('deployments', $function->getAttribute('deploymentId', ''))); if ($deployment->getAttribute('resourceId') !== $function->getId()) { throw new Exception(Exception::DEPLOYMENT_NOT_FOUND, 'Deployment not found. Create a deployment before trying to execute a function'); @@ -186,10 +189,8 @@ class Create extends Base throw new Exception(Exception::BUILD_NOT_READY); } - $validator = new Authorization('execute'); - - if (!$validator->isValid($function->getAttribute('execute'))) { // Check if user has write access to execute function - throw new Exception(Exception::USER_UNAUTHORIZED, $validator->getDescription()); + if (!$authorization->isValid(new Input('execute', $function->getAttribute('execute')))) { // Check if user has write access to execute function + throw new Exception(Exception::USER_UNAUTHORIZED, $authorization->getDescription()); } $jwt = ''; // initialize @@ -287,7 +288,7 @@ class Create extends Base if ($async) { if (is_null($scheduledAt)) { - $execution = Authorization::skip(fn () => $dbForProject->createDocument('executions', $execution)); + $execution = $authorization->skip(fn () => $dbForProject->createDocument('executions', $execution)); $queueForFunctions ->setType('http') ->setExecution($execution) @@ -328,7 +329,7 @@ class Create extends Base ->setAttribute('scheduleInternalId', $schedule->getSequence()) ->setAttribute('scheduledAt', $scheduledAt); - $execution = Authorization::skip(fn () => $dbForProject->createDocument('executions', $execution)); + $execution = $authorization->skip(fn () => $dbForProject->createDocument('executions', $execution)); } return $response @@ -481,7 +482,7 @@ class Create extends Base ->addMetric(str_replace(['{resourceType}', '{resourceInternalId}'], [RESOURCE_TYPE_FUNCTIONS, $function->getSequence()], METRIC_RESOURCE_TYPE_ID_EXECUTIONS_MB_SECONDS), (int)(($spec['memory'] ?? APP_COMPUTE_MEMORY_DEFAULT) * $execution->getAttribute('duration', 0) * ($spec['cpus'] ?? APP_COMPUTE_CPUS_DEFAULT))) ; - $execution = Authorization::skip(fn () => $dbForProject->createDocument('executions', $execution)); + $execution = $authorization->skip(fn () => $dbForProject->createDocument('executions', $execution)); } $executionResponse['headers']['x-appwrite-execution-id'] = $execution->getId(); diff --git a/src/Appwrite/Platform/Modules/Functions/Http/Executions/Delete.php b/src/Appwrite/Platform/Modules/Functions/Http/Executions/Delete.php index 666cb8310c..ccf345dbb5 100644 --- a/src/Appwrite/Platform/Modules/Functions/Http/Executions/Delete.php +++ b/src/Appwrite/Platform/Modules/Functions/Http/Executions/Delete.php @@ -61,6 +61,7 @@ class Delete extends Base ->inject('dbForProject') ->inject('dbForPlatform') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } @@ -70,7 +71,8 @@ class Delete extends Base Response $response, Database $dbForProject, Database $dbForPlatform, - Event $queueForEvents + Event $queueForEvents, + Authorization $authorization ) { $function = $dbForProject->getDocument('functions', $functionId); @@ -108,7 +110,7 @@ class Delete extends Base ->setAttribute('resourceUpdatedAt', DateTime::now()) ->setAttribute('active', false); - Authorization::skip(fn () => $dbForPlatform->updateDocument('schedules', $schedule->getId(), $schedule)); + $authorization->skip(fn () => $dbForPlatform->updateDocument('schedules', $schedule->getId(), $schedule)); } } diff --git a/src/Appwrite/Platform/Modules/Functions/Http/Executions/Get.php b/src/Appwrite/Platform/Modules/Functions/Http/Executions/Get.php index 42d78f8ca8..69c4080f8a 100644 --- a/src/Appwrite/Platform/Modules/Functions/Http/Executions/Get.php +++ b/src/Appwrite/Platform/Modules/Functions/Http/Executions/Get.php @@ -52,6 +52,7 @@ class Get extends Base ->param('executionId', '', new UID(), 'Execution ID.') ->inject('response') ->inject('dbForProject') + ->inject('authorization') ->callback($this->action(...)); } @@ -59,12 +60,13 @@ class Get extends Base string $functionId, string $executionId, Response $response, - Database $dbForProject + Database $dbForProject, + Authorization $authorization ) { - $function = Authorization::skip(fn () => $dbForProject->getDocument('functions', $functionId)); + $function = $authorization->skip(fn () => $dbForProject->getDocument('functions', $functionId)); - $isAPIKey = Auth::isAppUser(Authorization::getRoles()); - $isPrivilegedUser = Auth::isPrivilegedUser(Authorization::getRoles()); + $isAPIKey = Auth::isAppUser($authorization->getRoles()); + $isPrivilegedUser = Auth::isPrivilegedUser($authorization->getRoles()); if ($function->isEmpty() || (!$function->getAttribute('enabled') && !$isAPIKey && !$isPrivilegedUser)) { throw new Exception(Exception::FUNCTION_NOT_FOUND); diff --git a/src/Appwrite/Platform/Modules/Functions/Http/Executions/XList.php b/src/Appwrite/Platform/Modules/Functions/Http/Executions/XList.php index 3d5ec06ace..52562aadf8 100644 --- a/src/Appwrite/Platform/Modules/Functions/Http/Executions/XList.php +++ b/src/Appwrite/Platform/Modules/Functions/Http/Executions/XList.php @@ -60,6 +60,7 @@ class XList extends Base ->param('total', true, new Boolean(true), 'When set to false, the total count returned will be 0 and will not be calculated.', true) ->inject('response') ->inject('dbForProject') + ->inject('authorization') ->callback($this->action(...)); } @@ -68,12 +69,13 @@ class XList extends Base array $queries, bool $includeTotal, Response $response, - Database $dbForProject + Database $dbForProject, + Authorization $authorization ) { - $function = Authorization::skip(fn () => $dbForProject->getDocument('functions', $functionId)); + $function = $authorization->skip(fn () => $dbForProject->getDocument('functions', $functionId)); - $isAPIKey = Auth::isAppUser(Authorization::getRoles()); - $isPrivilegedUser = Auth::isPrivilegedUser(Authorization::getRoles()); + $isAPIKey = Auth::isAppUser($authorization->getRoles()); + $isPrivilegedUser = Auth::isPrivilegedUser($authorization->getRoles()); if ($function->isEmpty() || (!$function->getAttribute('enabled') && !$isAPIKey && !$isPrivilegedUser)) { throw new Exception(Exception::FUNCTION_NOT_FOUND); diff --git a/src/Appwrite/Platform/Modules/Functions/Http/Functions/Create.php b/src/Appwrite/Platform/Modules/Functions/Http/Functions/Create.php index b22710253e..9273979933 100644 --- a/src/Appwrite/Platform/Modules/Functions/Http/Functions/Create.php +++ b/src/Appwrite/Platform/Modules/Functions/Http/Functions/Create.php @@ -115,6 +115,7 @@ class Create extends Base ->inject('dbForPlatform') ->inject('request') ->inject('gitHub') + ->inject('authorization') ->callback($this->action(...)); } @@ -152,7 +153,8 @@ class Create extends Base Func $queueForFunctions, Database $dbForPlatform, Request $request, - GitHub $github + GitHub $github, + Authorization $authorization ) { // Temporary abuse check @@ -237,7 +239,7 @@ class Create extends Base throw new Exception(Exception::FUNCTION_ALREADY_EXISTS); } - $schedule = Authorization::skip( + $schedule = $authorization->skip( fn () => $dbForPlatform->createDocument('schedules', new Document([ 'region' => $project->getAttribute('region'), 'resourceType' => SCHEDULE_RESOURCE_TYPE_FUNCTION, @@ -367,7 +369,7 @@ class Create extends Base // TODO: @christyjacob remove once we migrate the rules in 1.7.x $ruleId = System::getEnv('_APP_RULES_FORMAT') === 'md5' ? md5($domain) : ID::unique(); - $rule = Authorization::skip( + $rule = $authorization->skip( fn () => $dbForPlatform->createDocument('rules', new Document([ '$id' => $ruleId, 'projectId' => $project->getId(), diff --git a/src/Appwrite/Platform/Modules/Functions/Http/Functions/Delete.php b/src/Appwrite/Platform/Modules/Functions/Http/Functions/Delete.php index 72d5589252..6c9c9c3c6f 100644 --- a/src/Appwrite/Platform/Modules/Functions/Http/Functions/Delete.php +++ b/src/Appwrite/Platform/Modules/Functions/Http/Functions/Delete.php @@ -61,6 +61,7 @@ class Delete extends Base ->inject('queueForDeletes') ->inject('queueForEvents') ->inject('dbForPlatform') + ->inject('authorization') ->callback($this->action(...)); } @@ -70,7 +71,8 @@ class Delete extends Base Database $dbForProject, DeleteEvent $queueForDeletes, Event $queueForEvents, - Database $dbForPlatform + Database $dbForPlatform, + Authorization $authorization ) { $function = $dbForProject->getDocument('functions', $functionId); @@ -87,7 +89,7 @@ class Delete extends Base $schedule ->setAttribute('resourceUpdatedAt', DateTime::now()) ->setAttribute('active', false); - Authorization::skip(fn () => $dbForPlatform->updateDocument('schedules', $schedule->getId(), $schedule)); + $authorization->skip(fn () => $dbForPlatform->updateDocument('schedules', $schedule->getId(), $schedule)); $queueForDeletes ->setType(DELETE_TYPE_DOCUMENT) diff --git a/src/Appwrite/Platform/Modules/Functions/Http/Functions/Deployment/Update.php b/src/Appwrite/Platform/Modules/Functions/Http/Functions/Deployment/Update.php index 8846329d27..b913848a13 100644 --- a/src/Appwrite/Platform/Modules/Functions/Http/Functions/Deployment/Update.php +++ b/src/Appwrite/Platform/Modules/Functions/Http/Functions/Deployment/Update.php @@ -62,6 +62,7 @@ class Update extends Base ->inject('dbForProject') ->inject('queueForEvents') ->inject('dbForPlatform') + ->inject('authorization') ->callback($this->action(...)); } @@ -72,7 +73,8 @@ class Update extends Base Response $response, Database $dbForProject, Event $queueForEvents, - Database $dbForPlatform + Database $dbForPlatform, + Authorization $authorization ) { $function = $dbForProject->getDocument('functions', $functionId); $deployment = $dbForProject->getDocument('deployments', $deploymentId); @@ -101,7 +103,7 @@ class Update extends Base ->setAttribute('resourceUpdatedAt', DateTime::now()) ->setAttribute('schedule', $function->getAttribute('schedule')) ->setAttribute('active', !empty($function->getAttribute('schedule')) && !empty($function->getAttribute('deploymentId'))); - Authorization::skip(fn () => $dbForPlatform->updateDocument('schedules', $schedule->getId(), $schedule)); + $authorization->skip(fn () => $dbForPlatform->updateDocument('schedules', $schedule->getId(), $schedule)); $queries = [ Query::equal('trigger', ['manual']), @@ -112,12 +114,12 @@ class Update extends Base Query::equal('projectInternalId', [$project->getSequence()]) ]; - Authorization::skip(fn () => $dbForPlatform->foreach('rules', function (Document $rule) use ($dbForPlatform, $deployment) { + $authorization->skip(fn () => $dbForPlatform->foreach('rules', function (Document $rule) use ($dbForPlatform, $deployment, $authorization) { $rule = $rule ->setAttribute('deploymentId', $deployment->getId()) ->setAttribute('deploymentInternalId', $deployment->getSequence()); - Authorization::skip(fn () => $dbForPlatform->updateDocument('rules', $rule->getId(), $rule)); + $authorization->skip(fn () => $dbForPlatform->updateDocument('rules', $rule->getId(), $rule)); }, $queries)); $queueForEvents diff --git a/src/Appwrite/Platform/Modules/Functions/Http/Functions/Update.php b/src/Appwrite/Platform/Modules/Functions/Http/Functions/Update.php index 4bc3dca613..7a4f194f9d 100644 --- a/src/Appwrite/Platform/Modules/Functions/Http/Functions/Update.php +++ b/src/Appwrite/Platform/Modules/Functions/Http/Functions/Update.php @@ -104,6 +104,7 @@ class Update extends Base ->inject('dbForPlatform') ->inject('gitHub') ->inject('executor') + ->inject('authorization') ->callback($this->action(...)); } @@ -134,7 +135,8 @@ class Update extends Base Build $queueForBuilds, Database $dbForPlatform, GitHub $github, - Executor $executor + Executor $executor, + Authorization $authorization ) { // TODO: If only branch changes, re-deploy $function = $dbForProject->getDocument('functions', $functionId); @@ -282,7 +284,7 @@ class Update extends Base ->setAttribute('resourceUpdatedAt', DateTime::now()) ->setAttribute('schedule', $function->getAttribute('schedule')) ->setAttribute('active', !empty($function->getAttribute('schedule')) && !empty($function->getAttribute('deploymentId'))); - Authorization::skip(fn () => $dbForPlatform->updateDocument('schedules', $schedule->getId(), $schedule)); + $authorization->skip(fn () => $dbForPlatform->updateDocument('schedules', $schedule->getId(), $schedule)); $queueForEvents->setParam('functionId', $function->getId()); diff --git a/src/Appwrite/Platform/Modules/Functions/Http/Usage/Get.php b/src/Appwrite/Platform/Modules/Functions/Http/Usage/Get.php index acb6995d6f..1fa65d0cc9 100644 --- a/src/Appwrite/Platform/Modules/Functions/Http/Usage/Get.php +++ b/src/Appwrite/Platform/Modules/Functions/Http/Usage/Get.php @@ -55,10 +55,11 @@ class Get extends Base ->param('range', '30d', new WhiteList(['24h', '30d', '90d']), 'Date range.', true) ->inject('response') ->inject('dbForProject') + ->inject('authorization') ->callback($this->action(...)); } - public function action(string $functionId, string $range, Response $response, Database $dbForProject) + public function action(string $functionId, string $range, Response $response, Database $dbForProject, Authorization $authorization) { $function = $dbForProject->getDocument('functions', $functionId); @@ -83,7 +84,7 @@ class Get extends Base str_replace(['{resourceType}', '{resourceInternalId}'], [RESOURCE_TYPE_FUNCTIONS, $function->getSequence()], METRIC_RESOURCE_TYPE_ID_BUILDS_FAILED), ]; - Authorization::skip(function () use ($dbForProject, $days, $metrics, &$stats) { + $authorization->skip(function () use ($dbForProject, $days, $metrics, &$stats) { foreach ($metrics as $metric) { $result = $dbForProject->findOne('stats', [ Query::equal('metric', [$metric]), diff --git a/src/Appwrite/Platform/Modules/Functions/Http/Usage/XList.php b/src/Appwrite/Platform/Modules/Functions/Http/Usage/XList.php index 6a4ded4db7..38a95d4469 100644 --- a/src/Appwrite/Platform/Modules/Functions/Http/Usage/XList.php +++ b/src/Appwrite/Platform/Modules/Functions/Http/Usage/XList.php @@ -52,10 +52,11 @@ class XList extends Base ->param('range', '30d', new WhiteList(['24h', '30d', '90d']), 'Date range.', true) ->inject('response') ->inject('dbForProject') + ->inject('authorization') ->callback($this->action(...)); } - public function action(string $range, Response $response, Database $dbForProject) + public function action(string $range, Response $response, Database $dbForProject, Authorization $authorization) { $periods = Config::getParam('usage', []); $stats = $usage = []; @@ -75,7 +76,7 @@ class XList extends Base str_replace("{resourceType}", RESOURCE_TYPE_FUNCTIONS, METRIC_RESOURCE_TYPE_BUILDS_FAILED), ]; - Authorization::skip(function () use ($dbForProject, $days, $metrics, &$stats) { + $authorization->skip(function () use ($dbForProject, $days, $metrics, &$stats) { foreach ($metrics as $metric) { $result = $dbForProject->findOne('stats', [ Query::equal('metric', [$metric]), diff --git a/src/Appwrite/Platform/Modules/Functions/Http/Variables/Create.php b/src/Appwrite/Platform/Modules/Functions/Http/Variables/Create.php index 815d364dad..ae74bfa98a 100644 --- a/src/Appwrite/Platform/Modules/Functions/Http/Variables/Create.php +++ b/src/Appwrite/Platform/Modules/Functions/Http/Variables/Create.php @@ -65,6 +65,7 @@ class Create extends Base ->inject('dbForProject') ->inject('dbForPlatform') ->inject('project') + ->inject('authorization') ->callback($this->action(...)); } @@ -76,7 +77,8 @@ class Create extends Base Response $response, Database $dbForProject, Database $dbForPlatform, - Document $project + Document $project, + Authorization $authorization ) { $function = $dbForProject->getDocument('functions', $functionId); @@ -119,7 +121,7 @@ class Create extends Base ->setAttribute('resourceUpdatedAt', DateTime::now()) ->setAttribute('schedule', $function->getAttribute('schedule')) ->setAttribute('active', !empty($function->getAttribute('schedule')) && !empty($function->getAttribute('deploymentId'))); - Authorization::skip(fn () => $dbForPlatform->updateDocument('schedules', $schedule->getId(), $schedule)); + $authorization->skip(fn () => $dbForPlatform->updateDocument('schedules', $schedule->getId(), $schedule)); $response ->setStatusCode(Response::STATUS_CODE_CREATED) diff --git a/src/Appwrite/Platform/Modules/Functions/Http/Variables/Delete.php b/src/Appwrite/Platform/Modules/Functions/Http/Variables/Delete.php index 35f9618edb..dcb80e4c8c 100644 --- a/src/Appwrite/Platform/Modules/Functions/Http/Variables/Delete.php +++ b/src/Appwrite/Platform/Modules/Functions/Http/Variables/Delete.php @@ -57,6 +57,7 @@ class Delete extends Base ->inject('response') ->inject('dbForProject') ->inject('dbForPlatform') + ->inject('authorization') ->callback($this->action(...)); } @@ -65,7 +66,8 @@ class Delete extends Base string $variableId, Response $response, Database $dbForProject, - Database $dbForPlatform + Database $dbForPlatform, + Authorization $authorization ) { $function = $dbForProject->getDocument('functions', $functionId); @@ -92,7 +94,7 @@ class Delete extends Base ->setAttribute('resourceUpdatedAt', DateTime::now()) ->setAttribute('schedule', $function->getAttribute('schedule')) ->setAttribute('active', !empty($function->getAttribute('schedule')) && !empty($function->getAttribute('deploymentId'))); - Authorization::skip(fn () => $dbForPlatform->updateDocument('schedules', $schedule->getId(), $schedule)); + $authorization->skip(fn () => $dbForPlatform->updateDocument('schedules', $schedule->getId(), $schedule)); $response->noContent(); } diff --git a/src/Appwrite/Platform/Modules/Functions/Http/Variables/Update.php b/src/Appwrite/Platform/Modules/Functions/Http/Variables/Update.php index 95fd235e4b..959e2608d4 100644 --- a/src/Appwrite/Platform/Modules/Functions/Http/Variables/Update.php +++ b/src/Appwrite/Platform/Modules/Functions/Http/Variables/Update.php @@ -62,6 +62,7 @@ class Update extends Base ->inject('response') ->inject('dbForProject') ->inject('dbForPlatform') + ->inject('authorization') ->callback($this->action(...)); } @@ -73,7 +74,8 @@ class Update extends Base ?bool $secret, Response $response, Database $dbForProject, - Database $dbForPlatform + Database $dbForPlatform, + Authorization $authorization ) { $function = $dbForProject->getDocument('functions', $functionId); @@ -110,7 +112,7 @@ class Update extends Base ->setAttribute('resourceUpdatedAt', DateTime::now()) ->setAttribute('schedule', $function->getAttribute('schedule')) ->setAttribute('active', !empty($function->getAttribute('schedule')) && !empty($function->getAttribute('deploymentId'))); - Authorization::skip(fn () => $dbForPlatform->updateDocument('schedules', $schedule->getId(), $schedule)); + $authorization->skip(fn () => $dbForPlatform->updateDocument('schedules', $schedule->getId(), $schedule)); $response->dynamic($variable, Response::MODEL_VARIABLE); } diff --git a/src/Appwrite/Platform/Modules/Functions/Workers/Builds.php b/src/Appwrite/Platform/Modules/Functions/Workers/Builds.php index 22b302f26e..0a7a35d2e8 100644 --- a/src/Appwrite/Platform/Modules/Functions/Workers/Builds.php +++ b/src/Appwrite/Platform/Modules/Functions/Workers/Builds.php @@ -27,7 +27,6 @@ use Utopia\Database\Exception\Restricted; use Utopia\Database\Exception\Structure; use Utopia\Database\Helpers\ID; use Utopia\Database\Query; -use Utopia\Database\Validator\Authorization; use Utopia\Detector\Detection\Rendering\SSR; use Utopia\Detector\Detection\Rendering\XStatic; use Utopia\Detector\Detector\Rendering; @@ -925,11 +924,11 @@ class Builds extends Action ->trigger(); try { - $rule = Authorization::skip(fn () => $dbForPlatform->findOne('rules', [ + $rule = $dbForPlatform->findOne('rules', [ Query::equal("projectInternalId", [$project->getSequence()]), Query::equal("type", ["deployment"]), Query::equal('deploymentInternalId', [$deployment->getSequence()]), - ])); + ]); if ($rule->isEmpty()) { throw new \Exception("Rule for build not found"); @@ -939,7 +938,7 @@ class Builds extends Action $client->setTimeout(\intval($resource->getAttribute('timeout', '15'))); $client->addHeader('content-type', FetchClient::CONTENT_TYPE_APPLICATION_JSON); - $bucket = Authorization::skip(fn () => $dbForPlatform->getDocument('buckets', 'screenshots')); + $bucket = $dbForPlatform->getDocument('buckets', 'screenshots'); $configs = [ 'screenshotLight' => [ @@ -1061,7 +1060,7 @@ class Builds extends Action 'metadata' => ['content_type' => $mimeType], ]); - Authorization::skip(fn () => $dbForPlatform->createDocument('bucket_' . $bucket->getSequence(), $file)); + $dbForPlatform->createDocument('bucket_' . $bucket->getSequence(), $file); $deployment->setAttribute($key, $fileId); } @@ -1284,7 +1283,7 @@ class Builds extends Action ->setAttribute('resourceUpdatedAt', DateTime::now()) ->setAttribute('schedule', $resource->getAttribute('schedule')) ->setAttribute('active', !empty($resource->getAttribute('schedule')) && !empty($resource->getAttribute('deploymentId'))); - Authorization::skip(fn () => $dbForPlatform->updateDocument('schedules', $schedule->getId(), $schedule)); + $dbForPlatform->updateDocument('schedules', $schedule->getId(), $schedule); } Console::info('Deployment action finished'); @@ -1491,7 +1490,6 @@ class Builds extends Action * @return void * @throws Structure * @throws \Utopia\Database\Exception - * @throws Authorization * @throws Conflict * @throws Restricted */ @@ -1579,11 +1577,11 @@ class Builds extends Action default => throw new \Exception('Invalid resource type') }; - $rule = Authorization::skip(fn () => $dbForPlatform->findOne('rules', [ + $rule = $dbForPlatform->findOne('rules', [ Query::equal("projectInternalId", [$project->getSequence()]), Query::equal("type", ["deployment"]), Query::equal("deploymentInternalId", [$deployment->getSequence()]), - ])); + ]); $protocol = System::getEnv('_APP_OPTIONS_FORCE_HTTPS') == 'disabled' ? 'http' : 'https'; $previewUrl = match($resource->getCollection()) { diff --git a/src/Appwrite/Platform/Modules/Sites/Http/Deployments/Create.php b/src/Appwrite/Platform/Modules/Sites/Http/Deployments/Create.php index 0662f09b80..197e22a4fc 100644 --- a/src/Appwrite/Platform/Modules/Sites/Http/Deployments/Create.php +++ b/src/Appwrite/Platform/Modules/Sites/Http/Deployments/Create.php @@ -88,6 +88,7 @@ class Create extends Base ->inject('deviceForLocal') ->inject('queueForBuilds') ->inject('plan') + ->inject('authorization') ->callback($this->action(...)); } @@ -107,7 +108,8 @@ class Create extends Base Device $deviceForSites, Device $deviceForLocal, Build $queueForBuilds, - array $plan + array $plan, + Authorization $authorization ) { $activate = \strval($activate) === 'true' || \strval($activate) === '1'; @@ -276,7 +278,7 @@ class Create extends Base // TODO: @christyjacob remove once we migrate the rules in 1.7.x $ruleId = System::getEnv('_APP_RULES_FORMAT') === 'md5' ? md5($domain) : ID::unique(); - Authorization::skip( + $authorization->skip( fn () => $dbForPlatform->createDocument('rules', new Document([ '$id' => $ruleId, 'projectId' => $project->getId(), @@ -341,7 +343,7 @@ class Create extends Base $sitesDomain = System::getEnv('_APP_DOMAIN_SITES', ''); $domain = ID::unique() . "." . $sitesDomain; $ruleId = md5($domain); - Authorization::skip( + $authorization->skip( fn () => $dbForPlatform->createDocument('rules', new Document([ '$id' => $ruleId, 'projectId' => $project->getId(), diff --git a/src/Appwrite/Platform/Modules/Sites/Http/Deployments/Duplicate/Create.php b/src/Appwrite/Platform/Modules/Sites/Http/Deployments/Duplicate/Create.php index 065dd13e88..21f86aea35 100644 --- a/src/Appwrite/Platform/Modules/Sites/Http/Deployments/Duplicate/Create.php +++ b/src/Appwrite/Platform/Modules/Sites/Http/Deployments/Duplicate/Create.php @@ -65,6 +65,7 @@ class Create extends Action ->inject('queueForEvents') ->inject('queueForBuilds') ->inject('deviceForSites') + ->inject('authorization') ->callback($this->action(...)); } @@ -78,7 +79,8 @@ class Create extends Action Database $dbForPlatform, Event $queueForEvents, Build $queueForBuilds, - Device $deviceForSites + Device $deviceForSites, + Authorization $authorization ) { $site = $dbForProject->getDocument('sites', $siteId); @@ -146,7 +148,7 @@ class Create extends Action // TODO: @christyjacob remove once we migrate the rules in 1.7.x $ruleId = System::getEnv('_APP_RULES_FORMAT') === 'md5' ? md5($domain) : ID::unique(); - Authorization::skip( + $authorization->skip( fn () => $dbForPlatform->createDocument('rules', new Document([ '$id' => $ruleId, 'projectId' => $project->getId(), diff --git a/src/Appwrite/Platform/Modules/Sites/Http/Deployments/Template/Create.php b/src/Appwrite/Platform/Modules/Sites/Http/Deployments/Template/Create.php index f5d7d5a873..fb40d21fca 100644 --- a/src/Appwrite/Platform/Modules/Sites/Http/Deployments/Template/Create.php +++ b/src/Appwrite/Platform/Modules/Sites/Http/Deployments/Template/Create.php @@ -79,6 +79,7 @@ class Create extends Base ->inject('queueForEvents') ->inject('queueForBuilds') ->inject('gitHub') + ->inject('authorization') ->callback($this->action(...)); } @@ -97,7 +98,8 @@ class Create extends Base Document $project, Event $queueForEvents, Build $queueForBuilds, - GitHub $github + GitHub $github, + Authorization $authorization ) { $site = $dbForProject->getDocument('sites', $siteId); @@ -130,6 +132,7 @@ class Create extends Base template: $template, github: $github, activate: $activate, + authorization: $authorization, ); $queueForEvents @@ -188,7 +191,7 @@ class Create extends Base // TODO: @christyjacob remove once we migrate the rules in 1.7.x $ruleId = System::getEnv('_APP_RULES_FORMAT') === 'md5' ? md5($domain) : ID::unique(); - Authorization::skip( + $authorization->skip( fn () => $dbForPlatform->createDocument('rules', new Document([ '$id' => $ruleId, 'projectId' => $project->getId(), diff --git a/src/Appwrite/Platform/Modules/Sites/Http/Deployments/Vcs/Create.php b/src/Appwrite/Platform/Modules/Sites/Http/Deployments/Vcs/Create.php index ddad5d793a..09dc4a1618 100644 --- a/src/Appwrite/Platform/Modules/Sites/Http/Deployments/Vcs/Create.php +++ b/src/Appwrite/Platform/Modules/Sites/Http/Deployments/Vcs/Create.php @@ -12,6 +12,7 @@ use Appwrite\SDK\Response as SDKResponse; use Appwrite\Utopia\Response; use Utopia\Database\Database; use Utopia\Database\Document; +use Utopia\Database\Validator\Authorization; use Utopia\Database\Validator\UID; use Utopia\Platform\Action; use Utopia\Platform\Scope\HTTP; @@ -72,6 +73,7 @@ class Create extends Base ->inject('queueForEvents') ->inject('queueForBuilds') ->inject('gitHub') + ->inject('authorization') ->callback($this->action(...)); } @@ -87,7 +89,8 @@ class Create extends Base Document $project, Event $queueForEvents, Build $queueForBuilds, - GitHub $github + GitHub $github, + Authorization $authorization ) { $site = $dbForProject->getDocument('sites', $siteId); @@ -110,6 +113,7 @@ class Create extends Base template: $template, github: $github, activate: $activate, + authorization: $authorization, reference: $reference, referenceType: $type ); diff --git a/src/Appwrite/Platform/Modules/Sites/Http/Sites/Deployment/Update.php b/src/Appwrite/Platform/Modules/Sites/Http/Sites/Deployment/Update.php index bb6bd4f632..e3cab865a9 100644 --- a/src/Appwrite/Platform/Modules/Sites/Http/Sites/Deployment/Update.php +++ b/src/Appwrite/Platform/Modules/Sites/Http/Sites/Deployment/Update.php @@ -60,6 +60,7 @@ class Update extends Base ->inject('dbForProject') ->inject('queueForEvents') ->inject('dbForPlatform') + ->inject('authorization') ->callback($this->action(...)); } @@ -70,7 +71,8 @@ class Update extends Base Response $response, Database $dbForProject, Event $queueForEvents, - Database $dbForPlatform + Database $dbForPlatform, + Authorization $authorization ) { $site = $dbForProject->getDocument('sites', $siteId); $deployment = $dbForProject->getDocument('deployments', $deploymentId); @@ -104,12 +106,12 @@ class Update extends Base Query::equal('projectInternalId', [$project->getSequence()]) ]; - Authorization::skip(fn () => $dbForPlatform->foreach('rules', function (Document $rule) use ($dbForPlatform, $deployment) { + $authorization->skip(fn () => $dbForPlatform->foreach('rules', function (Document $rule) use ($dbForPlatform, $deployment, $authorization) { $rule = $rule ->setAttribute('deploymentId', $deployment->getId()) ->setAttribute('deploymentInternalId', $deployment->getSequence()); - Authorization::skip(fn () => $dbForPlatform->updateDocument('rules', $rule->getId(), $rule)); + $authorization->skip(fn () => $dbForPlatform->updateDocument('rules', $rule->getId(), $rule)); }, $queries)); $queueForEvents diff --git a/src/Appwrite/Platform/Modules/Sites/Http/Usage/Get.php b/src/Appwrite/Platform/Modules/Sites/Http/Usage/Get.php index af96c10457..5c274d6a20 100644 --- a/src/Appwrite/Platform/Modules/Sites/Http/Usage/Get.php +++ b/src/Appwrite/Platform/Modules/Sites/Http/Usage/Get.php @@ -55,6 +55,7 @@ class Get extends Base ->param('range', '30d', new WhiteList(['24h', '30d', '90d']), 'Date range.', true) ->inject('response') ->inject('dbForProject') + ->inject('authorization') ->callback($this->action(...)); } @@ -62,7 +63,8 @@ class Get extends Base string $siteId, string $range, Response $response, - Database $dbForProject + Database $dbForProject, + Authorization $authorization ) { $site = $dbForProject->getDocument('sites', $siteId); @@ -91,7 +93,7 @@ class Get extends Base ]; - Authorization::skip(function () use ($dbForProject, $days, $metrics, &$stats) { + $authorization->skip(function () use ($dbForProject, $days, $metrics, &$stats) { foreach ($metrics as $metric) { $result = $dbForProject->findOne('stats', [ Query::equal('metric', [$metric]), diff --git a/src/Appwrite/Platform/Modules/Sites/Http/Usage/XList.php b/src/Appwrite/Platform/Modules/Sites/Http/Usage/XList.php index d36cc56ae5..a90cb0cab9 100644 --- a/src/Appwrite/Platform/Modules/Sites/Http/Usage/XList.php +++ b/src/Appwrite/Platform/Modules/Sites/Http/Usage/XList.php @@ -52,10 +52,11 @@ class XList extends Base ->param('range', '30d', new WhiteList(['24h', '30d', '90d']), 'Date range.', true) ->inject('response') ->inject('dbForProject') + ->inject('authorization') ->callback($this->action(...)); } - public function action(string $range, Response $response, Database $dbForProject) + public function action(string $range, Response $response, Database $dbForProject, Authorization $authorization) { $periods = Config::getParam('usage', []); $stats = $usage = []; @@ -78,7 +79,7 @@ class XList extends Base METRIC_SITES_OUTBOUND, ]; - Authorization::skip(function () use ($dbForProject, $days, $metrics, &$stats) { + $authorization->skip(function () use ($dbForProject, $days, $metrics, &$stats) { foreach ($metrics as $metric) { $result = $dbForProject->findOne('stats', [ Query::equal('metric', [$metric]), diff --git a/src/Appwrite/Platform/Modules/Tokens/Http/Tokens/Buckets/Files/Action.php b/src/Appwrite/Platform/Modules/Tokens/Http/Tokens/Buckets/Files/Action.php index 5708f1b83b..e05418b90d 100644 --- a/src/Appwrite/Platform/Modules/Tokens/Http/Tokens/Buckets/Files/Action.php +++ b/src/Appwrite/Platform/Modules/Tokens/Http/Tokens/Buckets/Files/Action.php @@ -6,32 +6,31 @@ use Appwrite\Auth\Auth; use Appwrite\Extend\Exception; use Utopia\Database\Database; use Utopia\Database\Validator\Authorization; +use Utopia\Database\Validator\Authorization\Input; use Utopia\Platform\Action as UtopiaAction; class Action extends UtopiaAction { - protected function getFileAndBucket(Database $dbForProject, string $bucketId, string $fileId): array + protected function getFileAndBucket(Database $dbForProject, Authorization $authorization, string $bucketId, string $fileId): array { - $bucket = Authorization::skip(fn () => $dbForProject->getDocument('buckets', $bucketId)); + $bucket = $authorization->skip(fn () => $dbForProject->getDocument('buckets', $bucketId)); - $isAPIKey = Auth::isAppUser(Authorization::getRoles()); - $isPrivilegedUser = Auth::isPrivilegedUser(Authorization::getRoles()); + $isAPIKey = Auth::isAppUser($authorization->getRoles()); + $isPrivilegedUser = Auth::isPrivilegedUser($authorization->getRoles()); if ($bucket->isEmpty() || (!$bucket->getAttribute('enabled') && !$isAPIKey && !$isPrivilegedUser)) { throw new Exception(Exception::STORAGE_BUCKET_NOT_FOUND); } - $validator = new Authorization(Database::PERMISSION_READ); - $valid = $validator->isValid($bucket->getRead()); - if (!$valid) { - throw new Exception(Exception::USER_UNAUTHORIZED); + if (!$authorization->isValid(new Input(Database::PERMISSION_READ, $bucket->getRead()))) { + throw new Exception(Exception::USER_UNAUTHORIZED, $authorization->getDescription()); } $fileSecurity = $bucket->getAttribute('fileSecurity', false); if ($fileSecurity) { $file = $dbForProject->getDocument('bucket_' . $bucket->getSequence(), $fileId); } else { - $file = Authorization::skip(fn () => $dbForProject->getDocument('bucket_' . $bucket->getSequence(), $fileId)); + $file = $authorization->skip(fn () => $dbForProject->getDocument('bucket_' . $bucket->getSequence(), $fileId)); } if ($file->isEmpty()) { diff --git a/src/Appwrite/Platform/Modules/Tokens/Http/Tokens/Buckets/Files/Create.php b/src/Appwrite/Platform/Modules/Tokens/Http/Tokens/Buckets/Files/Create.php index e4de4c1380..4760fef97f 100644 --- a/src/Appwrite/Platform/Modules/Tokens/Http/Tokens/Buckets/Files/Create.php +++ b/src/Appwrite/Platform/Modules/Tokens/Http/Tokens/Buckets/Files/Create.php @@ -14,6 +14,7 @@ use Utopia\Database\Database; use Utopia\Database\Document; use Utopia\Database\Helpers\ID; use Utopia\Database\Validator\Authorization; +use Utopia\Database\Validator\Authorization\Input; use Utopia\Database\Validator\Datetime as DatetimeValidator; use Utopia\Database\Validator\UID; use Utopia\Platform\Scope\HTTP; @@ -65,23 +66,23 @@ class Create extends Action ->inject('response') ->inject('dbForProject') ->inject('queueForEvents') + ->inject('authorization') ->callback($this->action(...)); } - public function action(string $bucketId, string $fileId, ?string $expire, Response $response, Database $dbForProject, Event $queueForEvents): void + public function action(string $bucketId, string $fileId, ?string $expire, Response $response, Database $dbForProject, Event $queueForEvents, Authorization $authorization): void { /** * @var Document $bucket * @var Document $file */ - ['bucket' => $bucket, 'file' => $file] = $this->getFileAndBucket($dbForProject, $bucketId, $fileId); + ['bucket' => $bucket, 'file' => $file] = $this->getFileAndBucket($dbForProject, $authorization, $bucketId, $fileId); $fileSecurity = $bucket->getAttribute('fileSecurity', false); - $validator = new Authorization(Database::PERMISSION_UPDATE); - $bucketPermission = $validator->isValid($bucket->getUpdate()); + $bucketPermission = $authorization->isValid(new Input(Database::PERMISSION_UPDATE, $bucket->getUpdate())); if ($fileSecurity) { - $filePermission = $validator->isValid($file->getUpdate()); + $filePermission = $authorization->isValid(new Input(Database::PERMISSION_UPDATE, $file->getUpdate())); if (!$bucketPermission && !$filePermission) { throw new Exception(Exception::USER_UNAUTHORIZED); } diff --git a/src/Appwrite/Platform/Modules/Tokens/Http/Tokens/Buckets/Files/XList.php b/src/Appwrite/Platform/Modules/Tokens/Http/Tokens/Buckets/Files/XList.php index 8a9301713b..13da92cbc6 100644 --- a/src/Appwrite/Platform/Modules/Tokens/Http/Tokens/Buckets/Files/XList.php +++ b/src/Appwrite/Platform/Modules/Tokens/Http/Tokens/Buckets/Files/XList.php @@ -13,6 +13,7 @@ use Exception; use Utopia\Database\Database; use Utopia\Database\Document; use Utopia\Database\Query; +use Utopia\Database\Validator\Authorization; use Utopia\Database\Validator\UID; use Utopia\Platform\Scope\HTTP; use Utopia\Validator\Boolean; @@ -57,12 +58,13 @@ class XList extends Action ->param('total', true, new Boolean(true), 'When set to false, the total count returned will be 0 and will not be calculated.', true) ->inject('response') ->inject('dbForProject') + ->inject('authorization') ->callback($this->action(...)); } - public function action(string $bucketId, string $fileId, array $queries, bool $includeTotal, Response $response, Database $dbForProject) + public function action(string $bucketId, string $fileId, array $queries, bool $includeTotal, Response $response, Database $dbForProject, Authorization $authorization) { - ['bucket' => $bucket, 'file' => $file] = $this->getFileAndBucket($dbForProject, $bucketId, $fileId); + ['bucket' => $bucket, 'file' => $file] = $this->getFileAndBucket($dbForProject, $authorization, $bucketId, $fileId); $queries = Query::parseQueries($queries); $queries[] = Query::equal('resourceType', [TOKENS_RESOURCE_TYPE_FILES]); diff --git a/src/Appwrite/Platform/Tasks/Migrate.php b/src/Appwrite/Platform/Tasks/Migrate.php index 3e35c1c1fa..cc6981fa1b 100644 --- a/src/Appwrite/Platform/Tasks/Migrate.php +++ b/src/Appwrite/Platform/Tasks/Migrate.php @@ -31,6 +31,7 @@ class Migrate extends Action ->inject('dbForPlatform') ->inject('getProjectDB') ->inject('register') + ->inject('authorisation') ->callback($this->action(...)); } @@ -47,8 +48,8 @@ class Migrate extends Action Database $dbForPlatform, callable $getProjectDB, Registry $register, + Authorization $authorization ): void { - Authorization::disable(); if (!\array_key_exists($version, Migration::$versions)) { Console::error("No migration found for version $version."); @@ -66,14 +67,14 @@ class Migrate extends Action $count = 0; $total = $dbForPlatform->count('projects') + 1; - $dbForPlatform->foreach('projects', function (Document $project) use ($dbForPlatform, $getProjectDB, $register, $migration, &$count, $total) { + $dbForPlatform->foreach('projects', function (Document $project) use ($dbForPlatform, $getProjectDB, $register, $migration, &$count, $total, $authorization) { /** @var Database $dbForProject */ $dbForProject = $getProjectDB($project); $dbForProject->disableValidation(); try { $migration - ->setProject($project, $dbForProject, $dbForPlatform, $getProjectDB) + ->setProject($project, $dbForProject, $dbForPlatform, $authorization, $getProjectDB) ->setPDO($register->get('db', true)) ->execute(); } catch (\Throwable $th) { @@ -88,7 +89,7 @@ class Migrate extends Action try { $migration - ->setProject($console, $getProjectDB($console), $dbForPlatform, $getProjectDB) + ->setProject($console, $getProjectDB($console), $dbForPlatform, $authorization, $getProjectDB) ->setPDO($register->get('db', true)) ->execute(); } catch (\Throwable $th) { diff --git a/src/Appwrite/Platform/Tasks/ScheduleBase.php b/src/Appwrite/Platform/Tasks/ScheduleBase.php index e9a0e1d333..33a01346a8 100644 --- a/src/Appwrite/Platform/Tasks/ScheduleBase.php +++ b/src/Appwrite/Platform/Tasks/ScheduleBase.php @@ -9,7 +9,6 @@ use Utopia\Database\DateTime; use Utopia\Database\Document; use Utopia\Database\Exception; use Utopia\Database\Query; -use Utopia\Database\Validator\Authorization; use Utopia\Platform\Action; use Utopia\Queue\Broker\Pool as BrokerPool; use Utopia\System\System; @@ -62,7 +61,7 @@ abstract class ScheduleBase extends Action $accessedAt = $project->getAttribute('accessedAt', 0); if (DateTime::formatTz(DateTime::addSeconds(new \DateTime(), -APP_PROJECT_ACCESS)) > $accessedAt) { $project->setAttribute('accessedAt', DateTime::now()); - Authorization::skip(fn () => $dbForPlatform->updateDocument('projects', $project->getId(), $project)); + $dbForPlatform->updateDocument('projects', $project->getId(), $project); } } } diff --git a/src/Appwrite/Platform/Tasks/StatsResources.php b/src/Appwrite/Platform/Tasks/StatsResources.php index b64dd61f86..87d4858351 100644 --- a/src/Appwrite/Platform/Tasks/StatsResources.php +++ b/src/Appwrite/Platform/Tasks/StatsResources.php @@ -8,7 +8,6 @@ use Utopia\CLI\Console; use Utopia\Database\Database; use Utopia\Database\DateTime; use Utopia\Database\Query; -use Utopia\Database\Validator\Authorization; use Utopia\System\System; /** @@ -45,6 +44,7 @@ class StatsResources extends Action ->inject('dbForPlatform') ->inject('logError') ->inject('queueForStatsResources') + ->inject('authorization') ->callback($this->action(...)); } @@ -61,9 +61,7 @@ class StatsResources extends Action $interval = (int) System::getEnv('_APP_STATS_RESOURCES_INTERVAL', '3600'); - Console::loop(function () use ($queue) { - Authorization::disable(); - Authorization::setDefaultStatus(false); + Console::loop(function () use ($queue, $dbForPlatform) { $last24Hours = (new \DateTime())->sub(\DateInterval::createFromDateString('24 hours')); /** diff --git a/src/Appwrite/Platform/Workers/Deletes.php b/src/Appwrite/Platform/Workers/Deletes.php index 7df2770ac6..808adabb24 100644 --- a/src/Appwrite/Platform/Workers/Deletes.php +++ b/src/Appwrite/Platform/Workers/Deletes.php @@ -19,12 +19,10 @@ use Utopia\Database\Database; use Utopia\Database\DateTime; use Utopia\Database\Document; use Utopia\Database\Exception as DatabaseException; -use Utopia\Database\Exception\Authorization; use Utopia\Database\Exception\Conflict; use Utopia\Database\Exception\Restricted; use Utopia\Database\Exception\Structure; use Utopia\Database\Query; -use Utopia\Database\Validator\Authorization as ValidatorAuthorization; use Utopia\DSN\DSN; use Utopia\Logger\Log; use Utopia\Platform\Action; @@ -201,7 +199,6 @@ class Deletes extends Action * @param string $datetime * @param Document|null $document * @return void - * @throws Authorization * @throws Conflict * @throws Restricted * @throws Structure @@ -992,14 +989,14 @@ class Deletes extends Action } Console::info("Deleting screenshots for deployment " . $deployment->getId()); - $bucket = ValidatorAuthorization::skip(fn () => $dbForPlatform->getDocument('buckets', 'screenshots')); + $bucket = $dbForPlatform->getDocument('buckets', 'screenshots'); if ($bucket->isEmpty()) { Console::error('Failed to get bucket for deployment screenshots'); return; } foreach ($screenshotIds as $id) { - $file = ValidatorAuthorization::skip(fn () => $dbForPlatform->getDocument('bucket_' . $bucket->getSequence(), $id)); + $file = $dbForPlatform->getDocument('bucket_' . $bucket->getSequence(), $id); if ($file->isEmpty()) { Console::error('Failed to get deployment screenshot: ' . $id); diff --git a/src/Appwrite/Platform/Workers/Functions.php b/src/Appwrite/Platform/Workers/Functions.php index df1833ad33..8ed95ac2fc 100644 --- a/src/Appwrite/Platform/Workers/Functions.php +++ b/src/Appwrite/Platform/Workers/Functions.php @@ -15,7 +15,6 @@ use Utopia\CLI\Console; use Utopia\Config\Config; use Utopia\Database\Database; use Utopia\Database\Document; -use Utopia\Database\Exception\Authorization; use Utopia\Database\Exception\Conflict; use Utopia\Database\Exception\Structure; use Utopia\Database\Helpers\ID; @@ -326,7 +325,6 @@ class Functions extends Action * @param string|null $eventData * @param string|null $executionId * @return void - * @throws Authorization * @throws Structure * @throws \Utopia\Database\Exception * @throws Conflict diff --git a/src/Appwrite/Platform/Workers/Migrations.php b/src/Appwrite/Platform/Workers/Migrations.php index e7b12c5d9d..afe63ec4cc 100644 --- a/src/Appwrite/Platform/Workers/Migrations.php +++ b/src/Appwrite/Platform/Workers/Migrations.php @@ -84,6 +84,7 @@ class Migrations extends Action ->inject('deviceForFiles') ->inject('queueForMails') ->inject('plan') + ->inject('authorization') ->callback($this->action(...)); } @@ -101,6 +102,7 @@ class Migrations extends Action Device $deviceForFiles, Mail $queueForMails, array $plan, + Authorization $authorization, ): void { $payload = $message->getPayload() ?? []; $this->deviceForMigrations = $deviceForMigrations; @@ -127,7 +129,7 @@ class Migrations extends Action return; } - $this->processMigration($migration, $queueForRealtime, $queueForMails); + $this->processMigration($migration, $queueForRealtime, $queueForMails, $authorization); } /** @@ -296,6 +298,7 @@ class Migrations extends Action Document $migration, Realtime $queueForRealtime, Mail $queueForMails, + Authorization $authorization, ): void { $project = $this->dbForPlatform->getDocument('projects', $this->project->getId()); $tempAPIKey = $this->generateAPIKey($project); @@ -411,7 +414,7 @@ class Migrations extends Action $source?->success(); if ($migration->getAttribute('destination') === DestinationCSV::getName()) { - $this->handleCSVExportComplete($project, $migration, $queueForMails, $queueForRealtime); + $this->handleCSVExportComplete($project, $migration, $queueForMails, $queueForRealtime, $authorization); } } } @@ -434,6 +437,7 @@ class Migrations extends Action Document $migration, Mail $queueForMails, Realtime $queueForRealtime, + Authorization $authorization ): void { $options = $migration->getAttribute('options', []); $bucketId = 'default'; // Always use platform default bucket @@ -447,7 +451,7 @@ class Migrations extends Action throw new \Exception('User ' . $userInternalId . ' not found'); } - $bucket = Authorization::skip(fn () => $this->dbForPlatform->getDocument('buckets', $bucketId)); + $bucket = $authorization->skip(fn () => $this->dbForPlatform->getDocument('buckets', $bucketId)); if ($bucket->isEmpty()) { throw new \Exception('Bucket not found'); } diff --git a/src/Appwrite/Utopia/Request.php b/src/Appwrite/Utopia/Request.php index 558f0cdf09..76d87e2012 100644 --- a/src/Appwrite/Utopia/Request.php +++ b/src/Appwrite/Utopia/Request.php @@ -210,7 +210,7 @@ class Request extends UtopiaRequest { $forwardedUserAgent = $this->getHeader('x-forwarded-user-agent'); if (!empty($forwardedUserAgent)) { - $roles = Authorization::getRoles(); + $roles = $this->authorization->getRoles() ?? []; $isAppUser = Auth::isAppUser($roles); if ($isAppUser) { @@ -233,4 +233,11 @@ class Request extends UtopiaRequest ksort($params); return md5($this->getURI() . '*' . serialize($params) . '*' . APP_CACHE_BUSTER); } + + private ?Authorization $authorization = null; + + public function setAuthorization(Authorization $authorization): void + { + $this->authorization = $authorization; + } } diff --git a/src/Appwrite/Utopia/Request/Filter.php b/src/Appwrite/Utopia/Request/Filter.php index 56fed746d9..6d47d4d150 100644 --- a/src/Appwrite/Utopia/Request/Filter.php +++ b/src/Appwrite/Utopia/Request/Filter.php @@ -10,7 +10,7 @@ abstract class Filter private array $params; private ?Database $dbForProject; - public function __construct(Database $dbForProject = null, array $params = []) + public function __construct(?Database $dbForProject = null, array $params = []) { $this->params = $params; $this->dbForProject = $dbForProject; diff --git a/src/Appwrite/Utopia/Request/Filters/V20.php b/src/Appwrite/Utopia/Request/Filters/V20.php index 69e7da6b7a..e130178083 100644 --- a/src/Appwrite/Utopia/Request/Filters/V20.php +++ b/src/Appwrite/Utopia/Request/Filters/V20.php @@ -7,7 +7,6 @@ use Appwrite\Utopia\Request\Filter; use Utopia\Database\Database; use Utopia\Database\Exception\Query as QueryException; use Utopia\Database\Query; -use Utopia\Database\Validator\Authorization; class V20 extends Filter { @@ -138,7 +137,7 @@ class V20 extends Filter } try { - $database = Authorization::skip(fn () => $dbForProject->getDocument( + $database = $dbForProject->getAuthorization()->skip(fn () => $dbForProject->getDocument( 'databases', $databaseId )); @@ -150,10 +149,10 @@ class V20 extends Filter } try { - $collection = Authorization::skip(fn () => $dbForProject->getDocument( + $collection = $dbForProject->getDocument( 'database_' . $database->getSequence(), $collectionId - )); + ); if ($collection->isEmpty()) { return []; } diff --git a/src/Appwrite/Utopia/Response.php b/src/Appwrite/Utopia/Response.php index 19a451e2c0..962ac37aa9 100644 --- a/src/Appwrite/Utopia/Response.php +++ b/src/Appwrite/Utopia/Response.php @@ -812,7 +812,7 @@ class Response extends SwooleResponse } if ($rule['sensitive']) { - $roles = Authorization::getRoles(); + $roles = $this->authorization->getRoles() ?? []; $isPrivilegedUser = Auth::isPrivilegedUser($roles); $isAppUser = Auth::isAppUser($roles); @@ -980,4 +980,11 @@ class Response extends SwooleResponse self::$showSensitive = false; } } + + private ?Authorization $authorization = null; + + public function setAuthorization(Authorization $authorization): void + { + $this->authorization = $authorization; + } } diff --git a/tests/e2e/Services/Databases/Legacy/Permissions/DatabasesPermissionsGuestTest.php b/tests/e2e/Services/Databases/Legacy/Permissions/DatabasesPermissionsGuestTest.php index 6496aa285a..0c9854160e 100644 --- a/tests/e2e/Services/Databases/Legacy/Permissions/DatabasesPermissionsGuestTest.php +++ b/tests/e2e/Services/Databases/Legacy/Permissions/DatabasesPermissionsGuestTest.php @@ -17,6 +17,19 @@ class DatabasesPermissionsGuestTest extends Scope use SideClient; use DatabasesPermissionsScope; + private $authorization; + + public function getAuthorization(): Authorization + { + if (isset($this->authorization)) { + return $this->authorization; + } + + $this->authorization = new Authorization(); + + return $this->authorization; + } + public function createCollection(): array { $database = $this->client->call(Client::METHOD_POST, '/databases', array_merge([ @@ -111,8 +124,8 @@ class DatabasesPermissionsGuestTest extends Scope $this->assertEquals(201, $publicResponse['headers']['status-code']); $this->assertEquals(201, $privateResponse['headers']['status-code']); - $roles = Authorization::getRoles(); - Authorization::cleanRoles(); + $roles = $this->getAuthorization()->getRoles(); + $this->getAuthorization()->cleanRoles(); $publicDocuments = $this->client->call(Client::METHOD_GET, '/databases/' . $databaseId . '/collections/' . $publicCollectionId . '/documents', [ 'content-type' => 'application/json', @@ -134,7 +147,7 @@ class DatabasesPermissionsGuestTest extends Scope } foreach ($roles as $role) { - Authorization::setRole($role); + $this->getAuthorization()->addRole($role); } } @@ -145,8 +158,8 @@ class DatabasesPermissionsGuestTest extends Scope $privateCollectionId = $data['privateCollectionId']; $databaseId = $data['databaseId']; - $roles = Authorization::getRoles(); - Authorization::cleanRoles(); + $roles = $this->getAuthorization()->getRoles(); + $this->getAuthorization()->cleanRoles(); $publicResponse = $this->client->call(Client::METHOD_POST, '/databases/' . $databaseId . '/collections/' . $publicCollectionId . '/documents', [ 'content-type' => 'application/json', @@ -222,7 +235,7 @@ class DatabasesPermissionsGuestTest extends Scope $this->assertEquals(401, $privateDocument['headers']['status-code']); foreach ($roles as $role) { - Authorization::setRole($role); + $this->getAuthorization()->addRole($role); } } diff --git a/tests/e2e/Services/Databases/TablesDB/Permissions/DatabasesPermissionsGuestTest.php b/tests/e2e/Services/Databases/TablesDB/Permissions/DatabasesPermissionsGuestTest.php index 2f69c037d0..84cb4bce3a 100644 --- a/tests/e2e/Services/Databases/TablesDB/Permissions/DatabasesPermissionsGuestTest.php +++ b/tests/e2e/Services/Databases/TablesDB/Permissions/DatabasesPermissionsGuestTest.php @@ -17,6 +17,19 @@ class DatabasesPermissionsGuestTest extends Scope use SideClient; use DatabasesPermissionsScope; + private $authorization; + + public function getAuthorization(): Authorization + { + if (isset($this->authorization)) { + return $this->authorization; + } + + $this->authorization = new Authorization(); + return $this->authorization; + } + + public function createTable(): array { $database = $this->client->call(Client::METHOD_POST, '/tablesdb', array_merge([ @@ -111,8 +124,8 @@ class DatabasesPermissionsGuestTest extends Scope $this->assertEquals(201, $publicResponse['headers']['status-code']); $this->assertEquals(201, $privateResponse['headers']['status-code']); - $roles = Authorization::getRoles(); - Authorization::cleanRoles(); + $roles = $this->getAuthorization()->getRoles(); + $this->getAuthorization()->cleanRoles(); $publicRows = $this->client->call(Client::METHOD_GET, '/tablesdb/' . $databaseId . '/tables/' . $publicTableId . '/rows', [ 'content-type' => 'application/json', @@ -134,7 +147,7 @@ class DatabasesPermissionsGuestTest extends Scope } foreach ($roles as $role) { - Authorization::setRole($role); + $this->getAuthorization()->addRole($role); } } @@ -145,8 +158,8 @@ class DatabasesPermissionsGuestTest extends Scope $privateTableId = $data['privateTableId']; $databaseId = $data['databaseId']; - $roles = Authorization::getRoles(); - Authorization::cleanRoles(); + $roles = $this->getAuthorization()->getRoles(); + $this->getAuthorization()->cleanRoles(); $publicResponse = $this->client->call(Client::METHOD_POST, '/tablesdb/' . $databaseId . '/tables/' . $publicTableId . '/rows', [ 'content-type' => 'application/json', @@ -222,7 +235,7 @@ class DatabasesPermissionsGuestTest extends Scope $this->assertEquals(401, $privateRow['headers']['status-code']); foreach ($roles as $role) { - Authorization::setRole($role); + $this->getAuthorization()->addRole($role); } } diff --git a/tests/e2e/Services/Health/HealthCustomServerTest.php b/tests/e2e/Services/Health/HealthCustomServerTest.php index 4b7062dc22..63516f624d 100644 --- a/tests/e2e/Services/Health/HealthCustomServerTest.php +++ b/tests/e2e/Services/Health/HealthCustomServerTest.php @@ -40,7 +40,6 @@ class HealthCustomServerTest extends Scope 'content-type' => 'application/json', 'x-appwrite-project' => $this->getProject()['$id'], ], $this->getHeaders()), []); - $this->assertEquals(200, $response['headers']['status-code']); $this->assertEquals('pass', $response['body']['statuses'][0]['status']); $this->assertIsInt($response['body']['statuses'][0]['ping']); diff --git a/tests/e2e/Services/Tokens/TokensBase.php b/tests/e2e/Services/Tokens/TokensBase.php index a4461c06c2..ca6feed5fa 100644 --- a/tests/e2e/Services/Tokens/TokensBase.php +++ b/tests/e2e/Services/Tokens/TokensBase.php @@ -94,7 +94,7 @@ trait TokensBase $this->assertEquals(401, $failedPreview['body']['code']); $this->assertEquals(401, $failedPreview['headers']['status-code']); $this->assertEquals('user_unauthorized', $failedPreview['body']['type']); - $this->assertEquals('The current user is not authorized to perform the requested action.', $failedPreview['body']['message']); + $this->assertEquals('No permissions provided for action \'read\'', $failedPreview['body']['message']); // Extended file preview. Should fail as an anonymous user with no form of any access to the file. $failedCustomPreview = $this->client->call( @@ -113,7 +113,7 @@ trait TokensBase $this->assertEquals(401, $failedCustomPreview['body']['code']); $this->assertEquals(401, $failedCustomPreview['headers']['status-code']); $this->assertEquals('user_unauthorized', $failedCustomPreview['body']['type']); - $this->assertEquals('The current user is not authorized to perform the requested action.', $failedCustomPreview['body']['message']); + $this->assertEquals('No permissions provided for action \'read\'', $failedCustomPreview['body']['message']); // File view. Should fail as an anonymous user with no form of any access to the file. $failedView = $this->client->call( @@ -124,7 +124,7 @@ trait TokensBase $this->assertEquals(401, $failedView['body']['code']); $this->assertEquals(401, $failedView['headers']['status-code']); $this->assertEquals('user_unauthorized', $failedView['body']['type']); - $this->assertEquals('The current user is not authorized to perform the requested action.', $failedView['body']['message']); + $this->assertEquals('No permissions provided for action \'read\'', $failedView['body']['message']); // File download. Should fail as an anonymous user with no form of any access to the file. $failedDownload = $this->client->call( @@ -135,7 +135,7 @@ trait TokensBase $this->assertEquals(401, $failedDownload['body']['code']); $this->assertEquals(401, $failedDownload['headers']['status-code']); $this->assertEquals('user_unauthorized', $failedDownload['body']['type']); - $this->assertEquals('The current user is not authorized to perform the requested action.', $failedDownload['body']['message']); + $this->assertEquals('No permissions provided for action \'read\'', $failedDownload['body']['message']); return $data; } diff --git a/tests/unit/Auth/AuthTest.php b/tests/unit/Auth/AuthTest.php index 705da42879..5e883bf924 100644 --- a/tests/unit/Auth/AuthTest.php +++ b/tests/unit/Auth/AuthTest.php @@ -13,13 +13,27 @@ use Utopia\Database\Validator\Roles; class AuthTest extends TestCase { + private $authorization; + + public function getAuthorization(): Authorization + { + if (isset($this->authorization)) { + return $this->authorization; + } + + $this->authorization = new Authorization(); + + return $this->authorization; + } + + /** * Reset Roles */ - public function tearDown(): void + public function setUp(): void { - Authorization::cleanRoles(); - Authorization::setRole(Role::any()->toString()); + $this->getAuthorization()->cleanRoles(); + $this->getAuthorization()->addRole(Role::any()->toString()); } public function testCookieName(): void @@ -347,7 +361,7 @@ class AuthTest extends TestCase '$id' => '' ]); - $roles = Auth::getRoles($user); + $roles = Auth::getRoles($user, new Authorization()); $this->assertCount(1, $roles); $this->assertContains(Role::guests()->toString(), $roles); } @@ -383,7 +397,7 @@ class AuthTest extends TestCase ] ]); - $roles = Auth::getRoles($user); + $roles = Auth::getRoles($user, $this->getAuthorization()); $this->assertCount(13, $roles); $this->assertContains(Role::users()->toString(), $roles); @@ -404,21 +418,21 @@ class AuthTest extends TestCase $user['emailVerification'] = false; $user['phoneVerification'] = false; - $roles = Auth::getRoles($user); + $roles = Auth::getRoles($user, $this->getAuthorization()); $this->assertContains(Role::users(Roles::DIMENSION_UNVERIFIED)->toString(), $roles); $this->assertContains(Role::user(ID::custom('123'), Roles::DIMENSION_UNVERIFIED)->toString(), $roles); // Enable single verification type $user['emailVerification'] = true; - $roles = Auth::getRoles($user); + $roles = Auth::getRoles($user, $this->getAuthorization()); $this->assertContains(Role::users(Roles::DIMENSION_VERIFIED)->toString(), $roles); $this->assertContains(Role::user(ID::custom('123'), Roles::DIMENSION_VERIFIED)->toString(), $roles); } public function testPrivilegedUserRoles(): void { - Authorization::setRole(Auth::USER_ROLE_OWNER); + $this->getAuthorization()->addRole(Auth::USER_ROLE_OWNER); $user = new Document([ '$id' => ID::custom('123'), 'emailVerification' => true, @@ -444,7 +458,7 @@ class AuthTest extends TestCase ] ]); - $roles = Auth::getRoles($user); + $roles = Auth::getRoles($user, $this->getAuthorization()); $this->assertCount(7, $roles); $this->assertNotContains(Role::users()->toString(), $roles); @@ -462,7 +476,7 @@ class AuthTest extends TestCase public function testAppUserRoles(): void { - Authorization::setRole(Auth::USER_ROLE_APPS); + $this->getAuthorization()->addRole(Auth::USER_ROLE_APPS); $user = new Document([ '$id' => ID::custom('123'), 'memberships' => [ @@ -486,7 +500,7 @@ class AuthTest extends TestCase ] ]); - $roles = Auth::getRoles($user); + $roles = Auth::getRoles($user, $this->getAuthorization()); $this->assertCount(7, $roles); $this->assertNotContains(Role::users()->toString(), $roles); diff --git a/tests/unit/Messaging/MessagingChannelsTest.php b/tests/unit/Messaging/MessagingChannelsTest.php index 8ba0374093..8fb7f3f666 100644 --- a/tests/unit/Messaging/MessagingChannelsTest.php +++ b/tests/unit/Messaging/MessagingChannelsTest.php @@ -8,6 +8,7 @@ use PHPUnit\Framework\TestCase; use Utopia\Database\Document; use Utopia\Database\Helpers\ID; use Utopia\Database\Helpers\Role; +use Utopia\Database\Validator\Authorization; class MessagingChannelsTest extends TestCase { @@ -34,6 +35,19 @@ class MessagingChannelsTest extends TestCase 'functions.1', ]; + + private $authorization; + + public function getAuthorization(): Authorization + { + if (isset($this->authorization)) { + return $this->authorization; + } + + $this->authorization = new Authorization(); + return $this->authorization; + } + public function setUp(): void { /** @@ -66,7 +80,7 @@ class MessagingChannelsTest extends TestCase ] ]); - $roles = Auth::getRoles($user); + $roles = Auth::getRoles($user, $this->getAuthorization()); $parsedChannels = Realtime::convertChannels([0 => $channel], $user->getId()); @@ -90,7 +104,7 @@ class MessagingChannelsTest extends TestCase '$id' => '' ]); - $roles = Auth::getRoles($user); + $roles = Auth::getRoles($user, $this->getAuthorization()); $parsedChannels = Realtime::convertChannels([0 => $channel], $user->getId()); From cee990607370c392fa781b658381409f534a36c0 Mon Sep 17 00:00:00 2001 From: shimon Date: Wed, 26 Nov 2025 12:27:57 +0200 Subject: [PATCH 002/220] reverting the revert --- app/init/database/filters.php | 32 +- composer.lock | 8921 --------------------------------- 2 files changed, 16 insertions(+), 8937 deletions(-) delete mode 100644 composer.lock diff --git a/app/init/database/filters.php b/app/init/database/filters.php index c065bf0d82..2bff778017 100644 --- a/app/init/database/filters.php +++ b/app/init/database/filters.php @@ -69,11 +69,11 @@ Database::addFilter( return; }, function (mixed $value, Document $document, Database $database) { - $attributes = $database->find('attributes', [ + $attributes = $database->getAuthorization()->skip(fn () => $database->find('attributes', [ Query::equal('collectionInternalId', [$document->getSequence()]), Query::equal('databaseInternalId', [$document->getAttribute('databaseInternalId')]), Query::limit($database->getLimitForAttributes()), - ]); + ])); foreach ($attributes as $attribute) { $attributeType = $attribute->getAttribute('type'); @@ -104,12 +104,12 @@ Database::addFilter( return; }, function (mixed $value, Document $document, Database $database) { - return $database + return $database->getAuthorization()->skip(fn () => $database ->find('indexes', [ Query::equal('collectionInternalId', [$document->getSequence()]), Query::equal('databaseInternalId', [$document->getAttribute('databaseInternalId')]), Query::limit($database->getLimitForIndexes()), - ]); + ])); } ); @@ -119,11 +119,11 @@ Database::addFilter( return; }, function (mixed $value, Document $document, Database $database) { - return $database + return $database->getAuthorization()->skip(fn () => $database ->find('platforms', [ Query::equal('projectInternalId', [$document->getSequence()]), Query::limit(APP_LIMIT_SUBQUERY), - ]); + ])); } ); @@ -133,11 +133,11 @@ Database::addFilter( return; }, function (mixed $value, Document $document, Database $database) { - return $database + return $database->getAuthorization()->skip(fn () => $database ->find('keys', [ Query::equal('projectInternalId', [$document->getSequence()]), Query::limit(APP_LIMIT_SUBQUERY), - ]); + ])); } ); @@ -147,11 +147,11 @@ Database::addFilter( return; }, function (mixed $value, Document $document, Database $database) { - return $database + return $database->getAuthorization()->skip(fn () => $database ->find('devKeys', [ Query::equal('projectInternalId', [$document->getSequence()]), Query::limit(APP_LIMIT_SUBQUERY), - ]); + ])); } ); @@ -161,11 +161,11 @@ Database::addFilter( return; }, function (mixed $value, Document $document, Database $database) { - return $database + return $database->getAuthorization()->skip(fn () => $database ->find('webhooks', [ Query::equal('projectInternalId', [$document->getSequence()]), Query::limit(APP_LIMIT_SUBQUERY), - ]); + ])); } ); @@ -250,14 +250,14 @@ Database::addFilter( default => ['function', 'site'] }; - return $database + return $database->getAuthorization()->skip(fn () => $database ->find('variables', [ Query::equal('resourceInternalId', [$document->getSequence()]), Query::equal('resourceType', $resourceType), Query::orderAsc('resourceType'), Query::orderAsc(), Query::limit(APP_LIMIT_SUBQUERY), - ]); + ])); } ); @@ -293,11 +293,11 @@ Database::addFilter( return; }, function (mixed $value, Document $document, Database $database) { - return $database + return $database->getAuthorization()->skip(fn () => $database ->find('variables', [ Query::equal('resourceType', ['project']), Query::limit(APP_LIMIT_SUBQUERY) - ]); + ])); } ); diff --git a/composer.lock b/composer.lock deleted file mode 100644 index f7424c4daa..0000000000 --- a/composer.lock +++ /dev/null @@ -1,8921 +0,0 @@ -{ - "_readme": [ - "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", - "This file is @generated automatically" - ], - "content-hash": "1d3d4b19a835b3be79a63146fcdd389b", - "packages": [ - { - "name": "adhocore/jwt", - "version": "1.1.3", - "source": { - "type": "git", - "url": "https://github.com/adhocore/php-jwt.git", - "reference": "ad417603d9d45578b6af2089ad5b78f101c82367" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/adhocore/php-jwt/zipball/ad417603d9d45578b6af2089ad5b78f101c82367", - "reference": "ad417603d9d45578b6af2089ad5b78f101c82367", - "shasum": "" - }, - "require": { - "php": "^7.0 || ^8.0" - }, - "require-dev": { - "phpunit/phpunit": "^7.5 || ^8.5" - }, - "type": "library", - "autoload": { - "psr-4": { - "Ahc\\Jwt\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jitendra Adhikari", - "email": "jiten.adhikary@gmail.com" - } - ], - "description": "Ultra lightweight JSON web token (JWT) library for PHP5.5+.", - "keywords": [ - "auth", - "json-web-token", - "jwt", - "jwt-auth", - "jwt-php", - "token" - ], - "support": { - "issues": "https://github.com/adhocore/php-jwt/issues", - "source": "https://github.com/adhocore/php-jwt/tree/1.1.3" - }, - "funding": [ - { - "url": "https://paypal.me/ji10", - "type": "custom" - }, - { - "url": "https://github.com/adhocore", - "type": "github" - } - ], - "time": "2025-02-18T01:00:50+00:00" - }, - { - "name": "appwrite/appwrite", - "version": "15.1.0", - "source": { - "type": "git", - "url": "https://github.com/appwrite/sdk-for-php.git", - "reference": "c438b3885071ac7c0329199dce5e6f6a24dd215b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/appwrite/sdk-for-php/zipball/c438b3885071ac7c0329199dce5e6f6a24dd215b", - "reference": "c438b3885071ac7c0329199dce5e6f6a24dd215b", - "shasum": "" - }, - "require": { - "ext-curl": "*", - "ext-json": "*", - "php": ">=7.1.0" - }, - "require-dev": { - "mockery/mockery": "^1.6.6", - "phpunit/phpunit": "^10" - }, - "type": "library", - "autoload": { - "psr-4": { - "Appwrite\\": "src/Appwrite" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "Appwrite is an open-source self-hosted backend server that abstract and simplify complex and repetitive development tasks behind a very simple REST API", - "support": { - "email": "team@appwrite.io", - "issues": "https://github.com/appwrite/sdk-for-php/issues", - "source": "https://github.com/appwrite/sdk-for-php/tree/15.1.0", - "url": "https://appwrite.io/support" - }, - "time": "2025-08-01T04:50:51+00:00" - }, - { - "name": "appwrite/php-clamav", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/appwrite/php-clamav.git", - "reference": "f3897169f5c1f365312238a516ae9465f804634f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/appwrite/php-clamav/zipball/f3897169f5c1f365312238a516ae9465f804634f", - "reference": "f3897169f5c1f365312238a516ae9465f804634f", - "shasum": "" - }, - "require": { - "ext-sockets": "*", - "php": ">=8.0" - }, - "require-dev": { - "phpunit/phpunit": "^9" - }, - "type": "library", - "autoload": { - "psr-4": { - "Appwrite\\ClamAV\\": "src/ClamAV" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Eldad Fux", - "email": "eldad@appwrite.io" - } - ], - "description": "ClamAV network and pipe client for PHP", - "keywords": [ - "anti virus", - "appwrite", - "clamav", - "php" - ], - "support": { - "issues": "https://github.com/appwrite/php-clamav/issues", - "source": "https://github.com/appwrite/php-clamav/tree/2.0.0" - }, - "time": "2023-02-24T09:50:42+00:00" - }, - { - "name": "appwrite/php-runtimes", - "version": "0.19.2", - "source": { - "type": "git", - "url": "https://github.com/appwrite/runtimes.git", - "reference": "e5c142519df5aced37de9c302971c29c079ce3d9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/appwrite/runtimes/zipball/e5c142519df5aced37de9c302971c29c079ce3d9", - "reference": "e5c142519df5aced37de9c302971c29c079ce3d9", - "shasum": "" - }, - "require": { - "php": ">=8.0", - "utopia-php/system": "0.9.*" - }, - "require-dev": { - "laravel/pint": "^1.15", - "phpstan/phpstan": "^1.10", - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "autoload": { - "psr-4": { - "Appwrite\\Runtimes\\": "src/Runtimes" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Eldad Fux", - "email": "eldad@appwrite.io" - }, - { - "name": "Torsten Dittmann", - "email": "torsten@appwrite.io" - } - ], - "description": "Appwrite repository for Cloud Function runtimes that contains the configurations and tests for all of the Appwrite runtime environments.", - "keywords": [ - "appwrite", - "php", - "runtimes" - ], - "support": { - "issues": "https://github.com/appwrite/runtimes/issues", - "source": "https://github.com/appwrite/runtimes/tree/0.19.2" - }, - "time": "2025-11-11T13:44:44+00:00" - }, - { - "name": "beberlei/assert", - "version": "v3.3.3", - "source": { - "type": "git", - "url": "https://github.com/beberlei/assert.git", - "reference": "b5fd8eacd8915a1b627b8bfc027803f1939734dd" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/beberlei/assert/zipball/b5fd8eacd8915a1b627b8bfc027803f1939734dd", - "reference": "b5fd8eacd8915a1b627b8bfc027803f1939734dd", - "shasum": "" - }, - "require": { - "ext-ctype": "*", - "ext-json": "*", - "ext-mbstring": "*", - "ext-simplexml": "*", - "php": "^7.1 || ^8.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "*", - "phpstan/phpstan": "*", - "phpunit/phpunit": ">=6.0.0", - "yoast/phpunit-polyfills": "^0.1.0" - }, - "suggest": { - "ext-intl": "Needed to allow Assertion::count(), Assertion::isCountable(), Assertion::minCount(), and Assertion::maxCount() to operate on ResourceBundles" - }, - "type": "library", - "autoload": { - "files": [ - "lib/Assert/functions.php" - ], - "psr-4": { - "Assert\\": "lib/Assert" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-2-Clause" - ], - "authors": [ - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de", - "role": "Lead Developer" - }, - { - "name": "Richard Quadling", - "email": "rquadling@gmail.com", - "role": "Collaborator" - } - ], - "description": "Thin assertion library for input validation in business models.", - "keywords": [ - "assert", - "assertion", - "validation" - ], - "support": { - "issues": "https://github.com/beberlei/assert/issues", - "source": "https://github.com/beberlei/assert/tree/v3.3.3" - }, - "time": "2024-07-15T13:18:35+00:00" - }, - { - "name": "brick/math", - "version": "0.14.1", - "source": { - "type": "git", - "url": "https://github.com/brick/math.git", - "reference": "f05858549e5f9d7bb45875a75583240a38a281d0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/brick/math/zipball/f05858549e5f9d7bb45875a75583240a38a281d0", - "reference": "f05858549e5f9d7bb45875a75583240a38a281d0", - "shasum": "" - }, - "require": { - "php": "^8.2" - }, - "require-dev": { - "php-coveralls/php-coveralls": "^2.2", - "phpstan/phpstan": "2.1.22", - "phpunit/phpunit": "^11.5" - }, - "type": "library", - "autoload": { - "psr-4": { - "Brick\\Math\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Arbitrary-precision arithmetic library", - "keywords": [ - "Arbitrary-precision", - "BigInteger", - "BigRational", - "arithmetic", - "bigdecimal", - "bignum", - "bignumber", - "brick", - "decimal", - "integer", - "math", - "mathematics", - "rational" - ], - "support": { - "issues": "https://github.com/brick/math/issues", - "source": "https://github.com/brick/math/tree/0.14.1" - }, - "funding": [ - { - "url": "https://github.com/BenMorel", - "type": "github" - } - ], - "time": "2025-11-24T14:40:29+00:00" - }, - { - "name": "chillerlan/php-qrcode", - "version": "4.4.2", - "source": { - "type": "git", - "url": "https://github.com/chillerlan/php-qrcode.git", - "reference": "345ed8e4ffb56e6b3fcd9f42e3970b9026fa6ce4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/chillerlan/php-qrcode/zipball/345ed8e4ffb56e6b3fcd9f42e3970b9026fa6ce4", - "reference": "345ed8e4ffb56e6b3fcd9f42e3970b9026fa6ce4", - "shasum": "" - }, - "require": { - "chillerlan/php-settings-container": "^2.1.6 || ^3.2.1", - "ext-mbstring": "*", - "php": "^7.4 || ^8.0" - }, - "require-dev": { - "phan/phan": "^5.4.5", - "phpmd/phpmd": "^2.15", - "phpunit/phpunit": "^9.6", - "setasign/fpdf": "^1.8.2", - "squizlabs/php_codesniffer": "^3.11" - }, - "suggest": { - "chillerlan/php-authenticator": "Yet another Google authenticator! Also creates URIs for mobile apps.", - "setasign/fpdf": "Required to use the QR FPDF output.", - "simple-icons/simple-icons": "SVG icons that you can use to embed as logos in the QR Code" - }, - "type": "library", - "autoload": { - "psr-4": { - "chillerlan\\QRCode\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Kazuhiko Arase", - "homepage": "https://github.com/kazuhikoarase" - }, - { - "name": "Smiley", - "email": "smiley@chillerlan.net", - "homepage": "https://github.com/codemasher" - }, - { - "name": "Contributors", - "homepage": "https://github.com/chillerlan/php-qrcode/graphs/contributors" - } - ], - "description": "A QR code generator with a user friendly API. PHP 7.4+", - "homepage": "https://github.com/chillerlan/php-qrcode", - "keywords": [ - "phpqrcode", - "qr", - "qr code", - "qrcode", - "qrcode-generator" - ], - "support": { - "issues": "https://github.com/chillerlan/php-qrcode/issues", - "source": "https://github.com/chillerlan/php-qrcode/tree/4.4.2" - }, - "funding": [ - { - "url": "https://ko-fi.com/codemasher", - "type": "ko_fi" - } - ], - "time": "2024-11-15T15:36:24+00:00" - }, - { - "name": "chillerlan/php-settings-container", - "version": "3.2.1", - "source": { - "type": "git", - "url": "https://github.com/chillerlan/php-settings-container.git", - "reference": "95ed3e9676a1d47cab2e3174d19b43f5dbf52681" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/chillerlan/php-settings-container/zipball/95ed3e9676a1d47cab2e3174d19b43f5dbf52681", - "reference": "95ed3e9676a1d47cab2e3174d19b43f5dbf52681", - "shasum": "" - }, - "require": { - "ext-json": "*", - "php": "^8.1" - }, - "require-dev": { - "phpmd/phpmd": "^2.15", - "phpstan/phpstan": "^1.11", - "phpstan/phpstan-deprecation-rules": "^1.2", - "phpunit/phpunit": "^10.5", - "squizlabs/php_codesniffer": "^3.10" - }, - "type": "library", - "autoload": { - "psr-4": { - "chillerlan\\Settings\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Smiley", - "email": "smiley@chillerlan.net", - "homepage": "https://github.com/codemasher" - } - ], - "description": "A container class for immutable settings objects. Not a DI container.", - "homepage": "https://github.com/chillerlan/php-settings-container", - "keywords": [ - "Settings", - "configuration", - "container", - "helper" - ], - "support": { - "issues": "https://github.com/chillerlan/php-settings-container/issues", - "source": "https://github.com/chillerlan/php-settings-container" - }, - "funding": [ - { - "url": "https://www.paypal.com/donate?hosted_button_id=WLYUNAT9ZTJZ4", - "type": "custom" - }, - { - "url": "https://ko-fi.com/codemasher", - "type": "ko_fi" - } - ], - "time": "2024-07-16T11:13:48+00:00" - }, - { - "name": "composer/semver", - "version": "3.4.4", - "source": { - "type": "git", - "url": "https://github.com/composer/semver.git", - "reference": "198166618906cb2de69b95d7d47e5fa8aa1b2b95" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/semver/zipball/198166618906cb2de69b95d7d47e5fa8aa1b2b95", - "reference": "198166618906cb2de69b95d7d47e5fa8aa1b2b95", - "shasum": "" - }, - "require": { - "php": "^5.3.2 || ^7.0 || ^8.0" - }, - "require-dev": { - "phpstan/phpstan": "^1.11", - "symfony/phpunit-bridge": "^3 || ^7" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\Semver\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nils Adermann", - "email": "naderman@naderman.de", - "homepage": "http://www.naderman.de" - }, - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - }, - { - "name": "Rob Bast", - "email": "rob.bast@gmail.com", - "homepage": "http://robbast.nl" - } - ], - "description": "Semver library that offers utilities, version constraint parsing and validation.", - "keywords": [ - "semantic", - "semver", - "validation", - "versioning" - ], - "support": { - "irc": "ircs://irc.libera.chat:6697/composer", - "issues": "https://github.com/composer/semver/issues", - "source": "https://github.com/composer/semver/tree/3.4.4" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - } - ], - "time": "2025-08-20T19:15:30+00:00" - }, - { - "name": "dragonmantank/cron-expression", - "version": "v3.4.0", - "source": { - "type": "git", - "url": "https://github.com/dragonmantank/cron-expression.git", - "reference": "8c784d071debd117328803d86b2097615b457500" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/8c784d071debd117328803d86b2097615b457500", - "reference": "8c784d071debd117328803d86b2097615b457500", - "shasum": "" - }, - "require": { - "php": "^7.2|^8.0", - "webmozart/assert": "^1.0" - }, - "replace": { - "mtdowling/cron-expression": "^1.0" - }, - "require-dev": { - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^1.0", - "phpunit/phpunit": "^7.0|^8.0|^9.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Cron\\": "src/Cron/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Chris Tankersley", - "email": "chris@ctankersley.com", - "homepage": "https://github.com/dragonmantank" - } - ], - "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due", - "keywords": [ - "cron", - "schedule" - ], - "support": { - "issues": "https://github.com/dragonmantank/cron-expression/issues", - "source": "https://github.com/dragonmantank/cron-expression/tree/v3.4.0" - }, - "funding": [ - { - "url": "https://github.com/dragonmantank", - "type": "github" - } - ], - "time": "2024-10-09T13:47:03+00:00" - }, - { - "name": "enshrined/svg-sanitize", - "version": "0.22.0", - "source": { - "type": "git", - "url": "https://github.com/darylldoyle/svg-sanitizer.git", - "reference": "0afa95ea74be155a7bcd6c6fb60c276c39984500" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/darylldoyle/svg-sanitizer/zipball/0afa95ea74be155a7bcd6c6fb60c276c39984500", - "reference": "0afa95ea74be155a7bcd6c6fb60c276c39984500", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-libxml": "*", - "php": "^7.1 || ^8.0" - }, - "require-dev": { - "phpunit/phpunit": "^6.5 || ^8.5" - }, - "type": "library", - "autoload": { - "psr-4": { - "enshrined\\svgSanitize\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL-2.0-or-later" - ], - "authors": [ - { - "name": "Daryll Doyle", - "email": "daryll@enshrined.co.uk" - } - ], - "description": "An SVG sanitizer for PHP", - "support": { - "issues": "https://github.com/darylldoyle/svg-sanitizer/issues", - "source": "https://github.com/darylldoyle/svg-sanitizer/tree/0.22.0" - }, - "time": "2025-08-12T10:13:48+00:00" - }, - { - "name": "giggsey/libphonenumber-for-php-lite", - "version": "8.13.36", - "source": { - "type": "git", - "url": "https://github.com/giggsey/libphonenumber-for-php-lite.git", - "reference": "144bbe70d67664b5245910a475c7190ff140ab4b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/giggsey/libphonenumber-for-php-lite/zipball/144bbe70d67664b5245910a475c7190ff140ab4b", - "reference": "144bbe70d67664b5245910a475c7190ff140ab4b", - "shasum": "" - }, - "require": { - "php": "^8.1", - "symfony/polyfill-mbstring": "^1.17" - }, - "conflict": { - "giggsey/libphonenumber-for-php": "*" - }, - "require-dev": { - "ext-dom": "*", - "friendsofphp/php-cs-fixer": "^3.12", - "infection/infection": "^0.28", - "pear/pear-core-minimal": "^1.10.11", - "pear/pear_exception": "^1.0.2", - "pear/versioncontrol_git": "^0.7", - "phing/phing": "^2.17.4", - "phpstan/extension-installer": "^1.2", - "phpstan/phpstan": "^1.8", - "phpstan/phpstan-phpunit": "^1.2", - "phpunit/phpunit": "^10.5", - "symfony/console": "^6.0", - "symfony/var-exporter": "^6.0" - }, - "suggest": { - "giggsey/libphonenumber-for-php": "Use libphonenumber-for-php for geocoding, carriers, timezones and matching" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "8.x-dev" - } - }, - "autoload": { - "psr-4": { - "libphonenumber\\": "src/" - }, - "exclude-from-classmap": [ - "/src/data/", - "/src/carrier/data/", - "/src/geocoding/data/", - "/src/timezone/data/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Joshua Gigg", - "email": "giggsey@gmail.com", - "homepage": "https://giggsey.com/" - } - ], - "description": "A lite version of giggsey/libphonenumber-for-php, which is a PHP Port of Google's libphonenumber", - "homepage": "https://github.com/giggsey/libphonenumber-for-php-lite", - "keywords": [ - "geocoding", - "geolocation", - "libphonenumber", - "mobile", - "phonenumber", - "validation" - ], - "support": { - "issues": "https://github.com/giggsey/libphonenumber-for-php-lite/issues", - "source": "https://github.com/giggsey/libphonenumber-for-php-lite" - }, - "time": "2024-05-03T06:31:11+00:00" - }, - { - "name": "google/protobuf", - "version": "v4.33.1", - "source": { - "type": "git", - "url": "https://github.com/protocolbuffers/protobuf-php.git", - "reference": "0cd73ccf0cd26c3e72299cce1ea6144091a57e12" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/protocolbuffers/protobuf-php/zipball/0cd73ccf0cd26c3e72299cce1ea6144091a57e12", - "reference": "0cd73ccf0cd26c3e72299cce1ea6144091a57e12", - "shasum": "" - }, - "require": { - "php": ">=8.1.0" - }, - "require-dev": { - "phpunit/phpunit": ">=5.0.0 <8.5.27" - }, - "suggest": { - "ext-bcmath": "Need to support JSON deserialization" - }, - "type": "library", - "autoload": { - "psr-4": { - "Google\\Protobuf\\": "src/Google/Protobuf", - "GPBMetadata\\Google\\Protobuf\\": "src/GPBMetadata/Google/Protobuf" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "proto library for PHP", - "homepage": "https://developers.google.com/protocol-buffers/", - "keywords": [ - "proto" - ], - "support": { - "source": "https://github.com/protocolbuffers/protobuf-php/tree/v4.33.1" - }, - "time": "2025-11-12T21:58:05+00:00" - }, - { - "name": "league/csv", - "version": "9.24.1", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/csv.git", - "reference": "e0221a3f16aa2a823047d59fab5809d552e29bc8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/csv/zipball/e0221a3f16aa2a823047d59fab5809d552e29bc8", - "reference": "e0221a3f16aa2a823047d59fab5809d552e29bc8", - "shasum": "" - }, - "require": { - "ext-filter": "*", - "php": "^8.1.2" - }, - "require-dev": { - "ext-dom": "*", - "ext-xdebug": "*", - "friendsofphp/php-cs-fixer": "^3.75.0", - "phpbench/phpbench": "^1.4.1", - "phpstan/phpstan": "^1.12.27", - "phpstan/phpstan-deprecation-rules": "^1.2.1", - "phpstan/phpstan-phpunit": "^1.4.2", - "phpstan/phpstan-strict-rules": "^1.6.2", - "phpunit/phpunit": "^10.5.16 || ^11.5.22", - "symfony/var-dumper": "^6.4.8 || ^7.3.0" - }, - "suggest": { - "ext-dom": "Required to use the XMLConverter and the HTMLConverter classes", - "ext-iconv": "Needed to ease transcoding CSV using iconv stream filters", - "ext-mbstring": "Needed to ease transcoding CSV using mb stream filters", - "ext-mysqli": "Requiered to use the package with the MySQLi extension", - "ext-pdo": "Required to use the package with the PDO extension", - "ext-pgsql": "Requiered to use the package with the PgSQL extension", - "ext-sqlite3": "Required to use the package with the SQLite3 extension" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "9.x-dev" - } - }, - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "League\\Csv\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ignace Nyamagana Butera", - "email": "nyamsprod@gmail.com", - "homepage": "https://github.com/nyamsprod/", - "role": "Developer" - } - ], - "description": "CSV data manipulation made easy in PHP", - "homepage": "https://csv.thephpleague.com", - "keywords": [ - "convert", - "csv", - "export", - "filter", - "import", - "read", - "transform", - "write" - ], - "support": { - "docs": "https://csv.thephpleague.com", - "issues": "https://github.com/thephpleague/csv/issues", - "rss": "https://github.com/thephpleague/csv/releases.atom", - "source": "https://github.com/thephpleague/csv" - }, - "funding": [ - { - "url": "https://github.com/sponsors/nyamsprod", - "type": "github" - } - ], - "time": "2025-06-25T14:53:51+00:00" - }, - { - "name": "matomo/device-detector", - "version": "6.4.7", - "source": { - "type": "git", - "url": "https://github.com/matomo-org/device-detector.git", - "reference": "e53eed31bb1530851feebe52bd64c3451da19e77" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/matomo-org/device-detector/zipball/e53eed31bb1530851feebe52bd64c3451da19e77", - "reference": "e53eed31bb1530851feebe52bd64c3451da19e77", - "shasum": "" - }, - "require": { - "mustangostang/spyc": "*", - "php": "^7.2|^8.0" - }, - "replace": { - "piwik/device-detector": "self.version" - }, - "require-dev": { - "matthiasmullie/scrapbook": "^1.4.7", - "mayflower/mo4-coding-standard": "^v9.0.0", - "phpstan/phpstan": "^1.10.44", - "phpunit/phpunit": "^8.5.8", - "psr/cache": "^1.0.1", - "psr/simple-cache": "^1.0.1", - "slevomat/coding-standard": "<8.16.0", - "symfony/yaml": "^5.1.7" - }, - "suggest": { - "doctrine/cache": "Can directly be used for caching purpose", - "ext-yaml": "Necessary for using the Pecl YAML parser" - }, - "type": "library", - "autoload": { - "psr-4": { - "DeviceDetector\\": "" - }, - "exclude-from-classmap": [ - "Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "LGPL-3.0-or-later" - ], - "authors": [ - { - "name": "The Matomo Team", - "email": "hello@matomo.org", - "homepage": "https://matomo.org/team/" - } - ], - "description": "The Universal Device Detection library, that parses User Agents and detects devices (desktop, tablet, mobile, tv, cars, console, etc.), clients (browsers, media players, mobile apps, feed readers, libraries, etc), operating systems, devices, brands and models.", - "homepage": "https://matomo.org", - "keywords": [ - "devicedetection", - "parser", - "useragent" - ], - "support": { - "forum": "https://forum.matomo.org/", - "issues": "https://github.com/matomo-org/device-detector/issues", - "source": "https://github.com/matomo-org/matomo", - "wiki": "https://dev.matomo.org/" - }, - "time": "2025-08-20T17:20:16+00:00" - }, - { - "name": "mongodb/mongodb", - "version": "2.1.2", - "source": { - "type": "git", - "url": "https://github.com/mongodb/mongo-php-library.git", - "reference": "0a2472ba9cbb932f7e43a8770aedb2fc30612a67" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/mongodb/mongo-php-library/zipball/0a2472ba9cbb932f7e43a8770aedb2fc30612a67", - "reference": "0a2472ba9cbb932f7e43a8770aedb2fc30612a67", - "shasum": "" - }, - "require": { - "composer-runtime-api": "^2.0", - "ext-mongodb": "^2.1", - "php": "^8.1", - "psr/log": "^1.1.4|^2|^3", - "symfony/polyfill-php85": "^1.32" - }, - "replace": { - "mongodb/builder": "*" - }, - "require-dev": { - "doctrine/coding-standard": "^12.0", - "phpunit/phpunit": "^10.5.35", - "rector/rector": "^2.1.4", - "squizlabs/php_codesniffer": "^3.7", - "vimeo/psalm": "6.5.*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.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" - }, - { - "name": "Jérôme Tamarelle", - "email": "jerome.tamarelle@mongodb.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/2.1.2" - }, - "time": "2025-10-06T12:12:40+00:00" - }, - { - "name": "mustangostang/spyc", - "version": "0.6.3", - "source": { - "type": "git", - "url": "https://github.com/mustangostang/spyc.git", - "reference": "4627c838b16550b666d15aeae1e5289dd5b77da0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/mustangostang/spyc/zipball/4627c838b16550b666d15aeae1e5289dd5b77da0", - "reference": "4627c838b16550b666d15aeae1e5289dd5b77da0", - "shasum": "" - }, - "require": { - "php": ">=5.3.1" - }, - "require-dev": { - "phpunit/phpunit": "4.3.*@dev" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "0.5.x-dev" - } - }, - "autoload": { - "files": [ - "Spyc.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "mustangostang", - "email": "vlad.andersen@gmail.com" - } - ], - "description": "A simple YAML loader/dumper class for PHP", - "homepage": "https://github.com/mustangostang/spyc/", - "keywords": [ - "spyc", - "yaml", - "yml" - ], - "support": { - "issues": "https://github.com/mustangostang/spyc/issues", - "source": "https://github.com/mustangostang/spyc/tree/0.6.3" - }, - "time": "2019-09-10T13:16:29+00:00" - }, - { - "name": "nyholm/psr7", - "version": "1.8.2", - "source": { - "type": "git", - "url": "https://github.com/Nyholm/psr7.git", - "reference": "a71f2b11690f4b24d099d6b16690a90ae14fc6f3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Nyholm/psr7/zipball/a71f2b11690f4b24d099d6b16690a90ae14fc6f3", - "reference": "a71f2b11690f4b24d099d6b16690a90ae14fc6f3", - "shasum": "" - }, - "require": { - "php": ">=7.2", - "psr/http-factory": "^1.0", - "psr/http-message": "^1.1 || ^2.0" - }, - "provide": { - "php-http/message-factory-implementation": "1.0", - "psr/http-factory-implementation": "1.0", - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "http-interop/http-factory-tests": "^0.9", - "php-http/message-factory": "^1.0", - "php-http/psr7-integration-tests": "^1.0", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.4", - "symfony/error-handler": "^4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.8-dev" - } - }, - "autoload": { - "psr-4": { - "Nyholm\\Psr7\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Tobias Nyholm", - "email": "tobias.nyholm@gmail.com" - }, - { - "name": "Martijn van der Ven", - "email": "martijn@vanderven.se" - } - ], - "description": "A fast PHP7 implementation of PSR-7", - "homepage": "https://tnyholm.se", - "keywords": [ - "psr-17", - "psr-7" - ], - "support": { - "issues": "https://github.com/Nyholm/psr7/issues", - "source": "https://github.com/Nyholm/psr7/tree/1.8.2" - }, - "funding": [ - { - "url": "https://github.com/Zegnat", - "type": "github" - }, - { - "url": "https://github.com/nyholm", - "type": "github" - } - ], - "time": "2024-09-09T07:06:30+00:00" - }, - { - "name": "nyholm/psr7-server", - "version": "1.1.0", - "source": { - "type": "git", - "url": "https://github.com/Nyholm/psr7-server.git", - "reference": "4335801d851f554ca43fa6e7d2602141538854dc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Nyholm/psr7-server/zipball/4335801d851f554ca43fa6e7d2602141538854dc", - "reference": "4335801d851f554ca43fa6e7d2602141538854dc", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0", - "psr/http-factory": "^1.0", - "psr/http-message": "^1.0 || ^2.0" - }, - "require-dev": { - "nyholm/nsa": "^1.1", - "nyholm/psr7": "^1.3", - "phpunit/phpunit": "^7.0 || ^8.5 || ^9.3" - }, - "type": "library", - "autoload": { - "psr-4": { - "Nyholm\\Psr7Server\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Tobias Nyholm", - "email": "tobias.nyholm@gmail.com" - }, - { - "name": "Martijn van der Ven", - "email": "martijn@vanderven.se" - } - ], - "description": "Helper classes to handle PSR-7 server requests", - "homepage": "http://tnyholm.se", - "keywords": [ - "psr-17", - "psr-7" - ], - "support": { - "issues": "https://github.com/Nyholm/psr7-server/issues", - "source": "https://github.com/Nyholm/psr7-server/tree/1.1.0" - }, - "funding": [ - { - "url": "https://github.com/Zegnat", - "type": "github" - }, - { - "url": "https://github.com/nyholm", - "type": "github" - } - ], - "time": "2023-11-08T09:30:43+00:00" - }, - { - "name": "open-telemetry/api", - "version": "1.7.0", - "source": { - "type": "git", - "url": "https://github.com/opentelemetry-php/api.git", - "reference": "610b79ad9d6d97e8368bcb6c4d42394fbb87b522" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/opentelemetry-php/api/zipball/610b79ad9d6d97e8368bcb6c4d42394fbb87b522", - "reference": "610b79ad9d6d97e8368bcb6c4d42394fbb87b522", - "shasum": "" - }, - "require": { - "open-telemetry/context": "^1.4", - "php": "^8.1", - "psr/log": "^1.1|^2.0|^3.0", - "symfony/polyfill-php82": "^1.26" - }, - "conflict": { - "open-telemetry/sdk": "<=1.0.8" - }, - "type": "library", - "extra": { - "spi": { - "OpenTelemetry\\API\\Instrumentation\\AutoInstrumentation\\HookManagerInterface": [ - "OpenTelemetry\\API\\Instrumentation\\AutoInstrumentation\\ExtensionHookManager" - ] - }, - "branch-alias": { - "dev-main": "1.7.x-dev" - } - }, - "autoload": { - "files": [ - "Trace/functions.php" - ], - "psr-4": { - "OpenTelemetry\\API\\": "." - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "opentelemetry-php contributors", - "homepage": "https://github.com/open-telemetry/opentelemetry-php/graphs/contributors" - } - ], - "description": "API for OpenTelemetry PHP.", - "keywords": [ - "Metrics", - "api", - "apm", - "logging", - "opentelemetry", - "otel", - "tracing" - ], - "support": { - "chat": "https://app.slack.com/client/T08PSQ7BQ/C01NFPCV44V", - "docs": "https://opentelemetry.io/docs/php", - "issues": "https://github.com/open-telemetry/opentelemetry-php/issues", - "source": "https://github.com/open-telemetry/opentelemetry-php" - }, - "time": "2025-10-02T23:44:28+00:00" - }, - { - "name": "open-telemetry/context", - "version": "1.4.0", - "source": { - "type": "git", - "url": "https://github.com/opentelemetry-php/context.git", - "reference": "d4c4470b541ce72000d18c339cfee633e4c8e0cf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/opentelemetry-php/context/zipball/d4c4470b541ce72000d18c339cfee633e4c8e0cf", - "reference": "d4c4470b541ce72000d18c339cfee633e4c8e0cf", - "shasum": "" - }, - "require": { - "php": "^8.1", - "symfony/polyfill-php82": "^1.26" - }, - "suggest": { - "ext-ffi": "To allow context switching in Fibers" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.0.x-dev" - } - }, - "autoload": { - "files": [ - "fiber/initialize_fiber_handler.php" - ], - "psr-4": { - "OpenTelemetry\\Context\\": "." - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "opentelemetry-php contributors", - "homepage": "https://github.com/open-telemetry/opentelemetry-php/graphs/contributors" - } - ], - "description": "Context implementation for OpenTelemetry PHP.", - "keywords": [ - "Context", - "opentelemetry", - "otel" - ], - "support": { - "chat": "https://app.slack.com/client/T08PSQ7BQ/C01NFPCV44V", - "docs": "https://opentelemetry.io/docs/php", - "issues": "https://github.com/open-telemetry/opentelemetry-php/issues", - "source": "https://github.com/open-telemetry/opentelemetry-php" - }, - "time": "2025-09-19T00:05:49+00:00" - }, - { - "name": "open-telemetry/exporter-otlp", - "version": "1.3.2", - "source": { - "type": "git", - "url": "https://github.com/opentelemetry-php/exporter-otlp.git", - "reference": "196f3a1dbce3b2c0f8110d164232c11ac00ddbb2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/opentelemetry-php/exporter-otlp/zipball/196f3a1dbce3b2c0f8110d164232c11ac00ddbb2", - "reference": "196f3a1dbce3b2c0f8110d164232c11ac00ddbb2", - "shasum": "" - }, - "require": { - "open-telemetry/api": "^1.0", - "open-telemetry/gen-otlp-protobuf": "^1.1", - "open-telemetry/sdk": "^1.0", - "php": "^8.1", - "php-http/discovery": "^1.14" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.0.x-dev" - } - }, - "autoload": { - "files": [ - "_register.php" - ], - "psr-4": { - "OpenTelemetry\\Contrib\\Otlp\\": "." - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "opentelemetry-php contributors", - "homepage": "https://github.com/open-telemetry/opentelemetry-php/graphs/contributors" - } - ], - "description": "OTLP exporter for OpenTelemetry.", - "keywords": [ - "Metrics", - "exporter", - "gRPC", - "http", - "opentelemetry", - "otel", - "otlp", - "tracing" - ], - "support": { - "chat": "https://app.slack.com/client/T08PSQ7BQ/C01NFPCV44V", - "docs": "https://opentelemetry.io/docs/php", - "issues": "https://github.com/open-telemetry/opentelemetry-php/issues", - "source": "https://github.com/open-telemetry/opentelemetry-php" - }, - "time": "2025-06-16T00:24:51+00:00" - }, - { - "name": "open-telemetry/gen-otlp-protobuf", - "version": "1.8.0", - "source": { - "type": "git", - "url": "https://github.com/opentelemetry-php/gen-otlp-protobuf.git", - "reference": "673af5b06545b513466081884b47ef15a536edde" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/opentelemetry-php/gen-otlp-protobuf/zipball/673af5b06545b513466081884b47ef15a536edde", - "reference": "673af5b06545b513466081884b47ef15a536edde", - "shasum": "" - }, - "require": { - "google/protobuf": "^3.22 || ^4.0", - "php": "^8.0" - }, - "suggest": { - "ext-protobuf": "For better performance, when dealing with the protobuf format" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Opentelemetry\\Proto\\": "Opentelemetry/Proto/", - "GPBMetadata\\Opentelemetry\\": "GPBMetadata/Opentelemetry/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "opentelemetry-php contributors", - "homepage": "https://github.com/open-telemetry/opentelemetry-php/graphs/contributors" - } - ], - "description": "PHP protobuf files for communication with OpenTelemetry OTLP collectors/servers.", - "keywords": [ - "Metrics", - "apm", - "gRPC", - "logging", - "opentelemetry", - "otel", - "otlp", - "protobuf", - "tracing" - ], - "support": { - "chat": "https://app.slack.com/client/T08PSQ7BQ/C01NFPCV44V", - "docs": "https://opentelemetry.io/docs/php", - "issues": "https://github.com/open-telemetry/opentelemetry-php/issues", - "source": "https://github.com/open-telemetry/opentelemetry-php" - }, - "time": "2025-09-17T23:10:12+00:00" - }, - { - "name": "open-telemetry/sdk", - "version": "1.9.0", - "source": { - "type": "git", - "url": "https://github.com/opentelemetry-php/sdk.git", - "reference": "8986bcbcbea79cb1ba9e91c1d621541ad63d6b3e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/opentelemetry-php/sdk/zipball/8986bcbcbea79cb1ba9e91c1d621541ad63d6b3e", - "reference": "8986bcbcbea79cb1ba9e91c1d621541ad63d6b3e", - "shasum": "" - }, - "require": { - "ext-json": "*", - "nyholm/psr7-server": "^1.1", - "open-telemetry/api": "^1.7", - "open-telemetry/context": "^1.4", - "open-telemetry/sem-conv": "^1.0", - "php": "^8.1", - "php-http/discovery": "^1.14", - "psr/http-client": "^1.0", - "psr/http-client-implementation": "^1.0", - "psr/http-factory-implementation": "^1.0", - "psr/http-message": "^1.0.1|^2.0", - "psr/log": "^1.1|^2.0|^3.0", - "ramsey/uuid": "^3.0 || ^4.0", - "symfony/polyfill-mbstring": "^1.23", - "symfony/polyfill-php82": "^1.26", - "tbachert/spi": "^1.0.5" - }, - "suggest": { - "ext-gmp": "To support unlimited number of synchronous metric readers", - "ext-mbstring": "To increase performance of string operations", - "open-telemetry/sdk-configuration": "File-based OpenTelemetry SDK configuration" - }, - "type": "library", - "extra": { - "spi": { - "OpenTelemetry\\API\\Configuration\\ConfigEnv\\EnvComponentLoader": [ - "OpenTelemetry\\API\\Instrumentation\\Configuration\\General\\ConfigEnv\\EnvComponentLoaderHttpConfig", - "OpenTelemetry\\API\\Instrumentation\\Configuration\\General\\ConfigEnv\\EnvComponentLoaderPeerConfig" - ], - "OpenTelemetry\\SDK\\Common\\Configuration\\Resolver\\ResolverInterface": [ - "OpenTelemetry\\SDK\\Common\\Configuration\\Resolver\\SdkConfigurationResolver" - ], - "OpenTelemetry\\API\\Instrumentation\\AutoInstrumentation\\HookManagerInterface": [ - "OpenTelemetry\\API\\Instrumentation\\AutoInstrumentation\\ExtensionHookManager" - ] - }, - "branch-alias": { - "dev-main": "1.9.x-dev" - } - }, - "autoload": { - "files": [ - "Common/Util/functions.php", - "Logs/Exporter/_register.php", - "Metrics/MetricExporter/_register.php", - "Propagation/_register.php", - "Trace/SpanExporter/_register.php", - "Common/Dev/Compatibility/_load.php", - "_autoload.php" - ], - "psr-4": { - "OpenTelemetry\\SDK\\": "." - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "opentelemetry-php contributors", - "homepage": "https://github.com/open-telemetry/opentelemetry-php/graphs/contributors" - } - ], - "description": "SDK for OpenTelemetry PHP.", - "keywords": [ - "Metrics", - "apm", - "logging", - "opentelemetry", - "otel", - "sdk", - "tracing" - ], - "support": { - "chat": "https://app.slack.com/client/T08PSQ7BQ/C01NFPCV44V", - "docs": "https://opentelemetry.io/docs/php", - "issues": "https://github.com/open-telemetry/opentelemetry-php/issues", - "source": "https://github.com/open-telemetry/opentelemetry-php" - }, - "time": "2025-10-02T23:44:28+00:00" - }, - { - "name": "open-telemetry/sem-conv", - "version": "1.37.0", - "source": { - "type": "git", - "url": "https://github.com/opentelemetry-php/sem-conv.git", - "reference": "8da7ec497c881e39afa6657d72586e27efbd29a1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/opentelemetry-php/sem-conv/zipball/8da7ec497c881e39afa6657d72586e27efbd29a1", - "reference": "8da7ec497c881e39afa6657d72586e27efbd29a1", - "shasum": "" - }, - "require": { - "php": "^8.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "OpenTelemetry\\SemConv\\": "." - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "opentelemetry-php contributors", - "homepage": "https://github.com/open-telemetry/opentelemetry-php/graphs/contributors" - } - ], - "description": "Semantic conventions for OpenTelemetry PHP.", - "keywords": [ - "Metrics", - "apm", - "logging", - "opentelemetry", - "otel", - "semantic conventions", - "semconv", - "tracing" - ], - "support": { - "chat": "https://app.slack.com/client/T08PSQ7BQ/C01NFPCV44V", - "docs": "https://opentelemetry.io/docs/php", - "issues": "https://github.com/open-telemetry/opentelemetry-php/issues", - "source": "https://github.com/open-telemetry/opentelemetry-php" - }, - "time": "2025-09-03T12:08:10+00:00" - }, - { - "name": "paragonie/constant_time_encoding", - "version": "v2.8.2", - "source": { - "type": "git", - "url": "https://github.com/paragonie/constant_time_encoding.git", - "reference": "e30811f7bc69e4b5b6d5783e712c06c8eabf0226" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/e30811f7bc69e4b5b6d5783e712c06c8eabf0226", - "reference": "e30811f7bc69e4b5b6d5783e712c06c8eabf0226", - "shasum": "" - }, - "require": { - "php": "^7|^8" - }, - "require-dev": { - "phpunit/phpunit": "^6|^7|^8|^9", - "vimeo/psalm": "^1|^2|^3|^4" - }, - "type": "library", - "autoload": { - "psr-4": { - "ParagonIE\\ConstantTime\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paragon Initiative Enterprises", - "email": "security@paragonie.com", - "homepage": "https://paragonie.com", - "role": "Maintainer" - }, - { - "name": "Steve 'Sc00bz' Thomas", - "email": "steve@tobtu.com", - "homepage": "https://www.tobtu.com", - "role": "Original Developer" - } - ], - "description": "Constant-time Implementations of RFC 4648 Encoding (Base-64, Base-32, Base-16)", - "keywords": [ - "base16", - "base32", - "base32_decode", - "base32_encode", - "base64", - "base64_decode", - "base64_encode", - "bin2hex", - "encoding", - "hex", - "hex2bin", - "rfc4648" - ], - "support": { - "email": "info@paragonie.com", - "issues": "https://github.com/paragonie/constant_time_encoding/issues", - "source": "https://github.com/paragonie/constant_time_encoding" - }, - "time": "2025-09-24T15:12:37+00:00" - }, - { - "name": "paragonie/random_compat", - "version": "v9.99.100", - "source": { - "type": "git", - "url": "https://github.com/paragonie/random_compat.git", - "reference": "996434e5492cb4c3edcb9168db6fbb1359ef965a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/paragonie/random_compat/zipball/996434e5492cb4c3edcb9168db6fbb1359ef965a", - "reference": "996434e5492cb4c3edcb9168db6fbb1359ef965a", - "shasum": "" - }, - "require": { - "php": ">= 7" - }, - "require-dev": { - "phpunit/phpunit": "4.*|5.*", - "vimeo/psalm": "^1" - }, - "suggest": { - "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." - }, - "type": "library", - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paragon Initiative Enterprises", - "email": "security@paragonie.com", - "homepage": "https://paragonie.com" - } - ], - "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", - "keywords": [ - "csprng", - "polyfill", - "pseudorandom", - "random" - ], - "support": { - "email": "info@paragonie.com", - "issues": "https://github.com/paragonie/random_compat/issues", - "source": "https://github.com/paragonie/random_compat" - }, - "time": "2020-10-15T08:29:30+00:00" - }, - { - "name": "php-amqplib/php-amqplib", - "version": "v3.7.4", - "source": { - "type": "git", - "url": "https://github.com/php-amqplib/php-amqplib.git", - "reference": "381b6f7c600e0e0c7463cdd7f7a1a3bc6268e5fd" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-amqplib/php-amqplib/zipball/381b6f7c600e0e0c7463cdd7f7a1a3bc6268e5fd", - "reference": "381b6f7c600e0e0c7463cdd7f7a1a3bc6268e5fd", - "shasum": "" - }, - "require": { - "ext-mbstring": "*", - "ext-sockets": "*", - "php": "^7.2||^8.0", - "phpseclib/phpseclib": "^2.0|^3.0" - }, - "conflict": { - "php": "7.4.0 - 7.4.1" - }, - "replace": { - "videlalvaro/php-amqplib": "self.version" - }, - "require-dev": { - "ext-curl": "*", - "nategood/httpful": "^0.2.20", - "phpunit/phpunit": "^7.5|^9.5", - "squizlabs/php_codesniffer": "^3.6" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "PhpAmqpLib\\": "PhpAmqpLib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "LGPL-2.1-or-later" - ], - "authors": [ - { - "name": "Alvaro Videla", - "role": "Original Maintainer" - }, - { - "name": "Raúl Araya", - "email": "nubeiro@gmail.com", - "role": "Maintainer" - }, - { - "name": "Luke Bakken", - "email": "luke@bakken.io", - "role": "Maintainer" - }, - { - "name": "Ramūnas Dronga", - "email": "github@ramuno.lt", - "role": "Maintainer" - } - ], - "description": "Formerly videlalvaro/php-amqplib. This library is a pure PHP implementation of the AMQP protocol. It's been tested against RabbitMQ.", - "homepage": "https://github.com/php-amqplib/php-amqplib/", - "keywords": [ - "message", - "queue", - "rabbitmq" - ], - "support": { - "issues": "https://github.com/php-amqplib/php-amqplib/issues", - "source": "https://github.com/php-amqplib/php-amqplib/tree/v3.7.4" - }, - "time": "2025-11-23T17:00:56+00:00" - }, - { - "name": "php-http/discovery", - "version": "1.20.0", - "source": { - "type": "git", - "url": "https://github.com/php-http/discovery.git", - "reference": "82fe4c73ef3363caed49ff8dd1539ba06044910d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-http/discovery/zipball/82fe4c73ef3363caed49ff8dd1539ba06044910d", - "reference": "82fe4c73ef3363caed49ff8dd1539ba06044910d", - "shasum": "" - }, - "require": { - "composer-plugin-api": "^1.0|^2.0", - "php": "^7.1 || ^8.0" - }, - "conflict": { - "nyholm/psr7": "<1.0", - "zendframework/zend-diactoros": "*" - }, - "provide": { - "php-http/async-client-implementation": "*", - "php-http/client-implementation": "*", - "psr/http-client-implementation": "*", - "psr/http-factory-implementation": "*", - "psr/http-message-implementation": "*" - }, - "require-dev": { - "composer/composer": "^1.0.2|^2.0", - "graham-campbell/phpspec-skip-example-extension": "^5.0", - "php-http/httplug": "^1.0 || ^2.0", - "php-http/message-factory": "^1.0", - "phpspec/phpspec": "^5.1 || ^6.1 || ^7.3", - "sebastian/comparator": "^3.0.5 || ^4.0.8", - "symfony/phpunit-bridge": "^6.4.4 || ^7.0.1" - }, - "type": "composer-plugin", - "extra": { - "class": "Http\\Discovery\\Composer\\Plugin", - "plugin-optional": true - }, - "autoload": { - "psr-4": { - "Http\\Discovery\\": "src/" - }, - "exclude-from-classmap": [ - "src/Composer/Plugin.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com" - } - ], - "description": "Finds and installs PSR-7, PSR-17, PSR-18 and HTTPlug implementations", - "homepage": "http://php-http.org", - "keywords": [ - "adapter", - "client", - "discovery", - "factory", - "http", - "message", - "psr17", - "psr7" - ], - "support": { - "issues": "https://github.com/php-http/discovery/issues", - "source": "https://github.com/php-http/discovery/tree/1.20.0" - }, - "time": "2024-10-02T11:20:13+00:00" - }, - { - "name": "phpmailer/phpmailer", - "version": "v6.9.1", - "source": { - "type": "git", - "url": "https://github.com/PHPMailer/PHPMailer.git", - "reference": "039de174cd9c17a8389754d3b877a2ed22743e18" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/039de174cd9c17a8389754d3b877a2ed22743e18", - "reference": "039de174cd9c17a8389754d3b877a2ed22743e18", - "shasum": "" - }, - "require": { - "ext-ctype": "*", - "ext-filter": "*", - "ext-hash": "*", - "php": ">=5.5.0" - }, - "require-dev": { - "dealerdirect/phpcodesniffer-composer-installer": "^1.0", - "doctrine/annotations": "^1.2.6 || ^1.13.3", - "php-parallel-lint/php-console-highlighter": "^1.0.0", - "php-parallel-lint/php-parallel-lint": "^1.3.2", - "phpcompatibility/php-compatibility": "^9.3.5", - "roave/security-advisories": "dev-latest", - "squizlabs/php_codesniffer": "^3.7.2", - "yoast/phpunit-polyfills": "^1.0.4" - }, - "suggest": { - "decomplexity/SendOauth2": "Adapter for using XOAUTH2 authentication", - "ext-mbstring": "Needed to send email in multibyte encoding charset or decode encoded addresses", - "ext-openssl": "Needed for secure SMTP sending and DKIM signing", - "greew/oauth2-azure-provider": "Needed for Microsoft Azure XOAUTH2 authentication", - "hayageek/oauth2-yahoo": "Needed for Yahoo XOAUTH2 authentication", - "league/oauth2-google": "Needed for Google XOAUTH2 authentication", - "psr/log": "For optional PSR-3 debug logging", - "symfony/polyfill-mbstring": "To support UTF-8 if the Mbstring PHP extension is not enabled (^1.2)", - "thenetworg/oauth2-azure": "Needed for Microsoft XOAUTH2 authentication" - }, - "type": "library", - "autoload": { - "psr-4": { - "PHPMailer\\PHPMailer\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "LGPL-2.1-only" - ], - "authors": [ - { - "name": "Marcus Bointon", - "email": "phpmailer@synchromedia.co.uk" - }, - { - "name": "Jim Jagielski", - "email": "jimjag@gmail.com" - }, - { - "name": "Andy Prevost", - "email": "codeworxtech@users.sourceforge.net" - }, - { - "name": "Brent R. Matzelle" - } - ], - "description": "PHPMailer is a full-featured email creation and transfer class for PHP", - "support": { - "issues": "https://github.com/PHPMailer/PHPMailer/issues", - "source": "https://github.com/PHPMailer/PHPMailer/tree/v6.9.1" - }, - "funding": [ - { - "url": "https://github.com/Synchro", - "type": "github" - } - ], - "time": "2023-11-25T22:23:28+00:00" - }, - { - "name": "phpseclib/phpseclib", - "version": "3.0.47", - "source": { - "type": "git", - "url": "https://github.com/phpseclib/phpseclib.git", - "reference": "9d6ca36a6c2dd434765b1071b2644a1c683b385d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/9d6ca36a6c2dd434765b1071b2644a1c683b385d", - "reference": "9d6ca36a6c2dd434765b1071b2644a1c683b385d", - "shasum": "" - }, - "require": { - "paragonie/constant_time_encoding": "^1|^2|^3", - "paragonie/random_compat": "^1.4|^2.0|^9.99.99", - "php": ">=5.6.1" - }, - "require-dev": { - "phpunit/phpunit": "*" - }, - "suggest": { - "ext-dom": "Install the DOM extension to load XML formatted public keys.", - "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.", - "ext-libsodium": "SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.", - "ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.", - "ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations." - }, - "type": "library", - "autoload": { - "files": [ - "phpseclib/bootstrap.php" - ], - "psr-4": { - "phpseclib3\\": "phpseclib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jim Wigginton", - "email": "terrafrost@php.net", - "role": "Lead Developer" - }, - { - "name": "Patrick Monnerat", - "email": "pm@datasphere.ch", - "role": "Developer" - }, - { - "name": "Andreas Fischer", - "email": "bantu@phpbb.com", - "role": "Developer" - }, - { - "name": "Hans-Jürgen Petrich", - "email": "petrich@tronic-media.com", - "role": "Developer" - }, - { - "name": "Graham Campbell", - "email": "graham@alt-three.com", - "role": "Developer" - } - ], - "description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.", - "homepage": "http://phpseclib.sourceforge.net", - "keywords": [ - "BigInteger", - "aes", - "asn.1", - "asn1", - "blowfish", - "crypto", - "cryptography", - "encryption", - "rsa", - "security", - "sftp", - "signature", - "signing", - "ssh", - "twofish", - "x.509", - "x509" - ], - "support": { - "issues": "https://github.com/phpseclib/phpseclib/issues", - "source": "https://github.com/phpseclib/phpseclib/tree/3.0.47" - }, - "funding": [ - { - "url": "https://github.com/terrafrost", - "type": "github" - }, - { - "url": "https://www.patreon.com/phpseclib", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpseclib/phpseclib", - "type": "tidelift" - } - ], - "time": "2025-10-06T01:07:24+00:00" - }, - { - "name": "psr/container", - "version": "2.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/container.git", - "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", - "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", - "shasum": "" - }, - "require": { - "php": ">=7.4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Container\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common Container Interface (PHP FIG PSR-11)", - "homepage": "https://github.com/php-fig/container", - "keywords": [ - "PSR-11", - "container", - "container-interface", - "container-interop", - "psr" - ], - "support": { - "issues": "https://github.com/php-fig/container/issues", - "source": "https://github.com/php-fig/container/tree/2.0.2" - }, - "time": "2021-11-05T16:47:00+00:00" - }, - { - "name": "psr/http-client", - "version": "1.0.3", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-client.git", - "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-client/zipball/bb5906edc1c324c9a05aa0873d40117941e5fa90", - "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90", - "shasum": "" - }, - "require": { - "php": "^7.0 || ^8.0", - "psr/http-message": "^1.0 || ^2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Client\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP clients", - "homepage": "https://github.com/php-fig/http-client", - "keywords": [ - "http", - "http-client", - "psr", - "psr-18" - ], - "support": { - "source": "https://github.com/php-fig/http-client" - }, - "time": "2023-09-23T14:17:50+00:00" - }, - { - "name": "psr/http-factory", - "version": "1.1.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-factory.git", - "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a", - "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "psr/http-message": "^1.0 || ^2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories", - "keywords": [ - "factory", - "http", - "message", - "psr", - "psr-17", - "psr-7", - "request", - "response" - ], - "support": { - "source": "https://github.com/php-fig/http-factory" - }, - "time": "2024-04-15T12:06:14+00:00" - }, - { - "name": "psr/http-message", - "version": "2.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71", - "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "support": { - "source": "https://github.com/php-fig/http-message/tree/2.0" - }, - "time": "2023-04-04T09:54:51+00:00" - }, - { - "name": "psr/log", - "version": "3.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", - "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", - "shasum": "" - }, - "require": { - "php": ">=8.0.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Log\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for logging libraries", - "homepage": "https://github.com/php-fig/log", - "keywords": [ - "log", - "psr", - "psr-3" - ], - "support": { - "source": "https://github.com/php-fig/log/tree/3.0.2" - }, - "time": "2024-09-11T13:17:53+00:00" - }, - { - "name": "ramsey/collection", - "version": "2.1.1", - "source": { - "type": "git", - "url": "https://github.com/ramsey/collection.git", - "reference": "344572933ad0181accbf4ba763e85a0306a8c5e2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ramsey/collection/zipball/344572933ad0181accbf4ba763e85a0306a8c5e2", - "reference": "344572933ad0181accbf4ba763e85a0306a8c5e2", - "shasum": "" - }, - "require": { - "php": "^8.1" - }, - "require-dev": { - "captainhook/plugin-composer": "^5.3", - "ergebnis/composer-normalize": "^2.45", - "fakerphp/faker": "^1.24", - "hamcrest/hamcrest-php": "^2.0", - "jangregor/phpstan-prophecy": "^2.1", - "mockery/mockery": "^1.6", - "php-parallel-lint/php-console-highlighter": "^1.0", - "php-parallel-lint/php-parallel-lint": "^1.4", - "phpspec/prophecy-phpunit": "^2.3", - "phpstan/extension-installer": "^1.4", - "phpstan/phpstan": "^2.1", - "phpstan/phpstan-mockery": "^2.0", - "phpstan/phpstan-phpunit": "^2.0", - "phpunit/phpunit": "^10.5", - "ramsey/coding-standard": "^2.3", - "ramsey/conventional-commits": "^1.6", - "roave/security-advisories": "dev-latest" - }, - "type": "library", - "extra": { - "captainhook": { - "force-install": true - }, - "ramsey/conventional-commits": { - "configFile": "conventional-commits.json" - } - }, - "autoload": { - "psr-4": { - "Ramsey\\Collection\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ben Ramsey", - "email": "ben@benramsey.com", - "homepage": "https://benramsey.com" - } - ], - "description": "A PHP library for representing and manipulating collections.", - "keywords": [ - "array", - "collection", - "hash", - "map", - "queue", - "set" - ], - "support": { - "issues": "https://github.com/ramsey/collection/issues", - "source": "https://github.com/ramsey/collection/tree/2.1.1" - }, - "time": "2025-03-22T05:38:12+00:00" - }, - { - "name": "ramsey/uuid", - "version": "4.9.1", - "source": { - "type": "git", - "url": "https://github.com/ramsey/uuid.git", - "reference": "81f941f6f729b1e3ceea61d9d014f8b6c6800440" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ramsey/uuid/zipball/81f941f6f729b1e3ceea61d9d014f8b6c6800440", - "reference": "81f941f6f729b1e3ceea61d9d014f8b6c6800440", - "shasum": "" - }, - "require": { - "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11 || ^0.12 || ^0.13 || ^0.14", - "php": "^8.0", - "ramsey/collection": "^1.2 || ^2.0" - }, - "replace": { - "rhumsaa/uuid": "self.version" - }, - "require-dev": { - "captainhook/captainhook": "^5.25", - "captainhook/plugin-composer": "^5.3", - "dealerdirect/phpcodesniffer-composer-installer": "^1.0", - "ergebnis/composer-normalize": "^2.47", - "mockery/mockery": "^1.6", - "paragonie/random-lib": "^2", - "php-mock/php-mock": "^2.6", - "php-mock/php-mock-mockery": "^1.5", - "php-parallel-lint/php-parallel-lint": "^1.4.0", - "phpbench/phpbench": "^1.2.14", - "phpstan/extension-installer": "^1.4", - "phpstan/phpstan": "^2.1", - "phpstan/phpstan-mockery": "^2.0", - "phpstan/phpstan-phpunit": "^2.0", - "phpunit/phpunit": "^9.6", - "slevomat/coding-standard": "^8.18", - "squizlabs/php_codesniffer": "^3.13" - }, - "suggest": { - "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.", - "ext-gmp": "Enables faster math with arbitrary-precision integers using GMP.", - "ext-uuid": "Enables the use of PeclUuidTimeGenerator and PeclUuidRandomGenerator.", - "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter", - "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type." - }, - "type": "library", - "extra": { - "captainhook": { - "force-install": true - } - }, - "autoload": { - "files": [ - "src/functions.php" - ], - "psr-4": { - "Ramsey\\Uuid\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A PHP library for generating and working with universally unique identifiers (UUIDs).", - "keywords": [ - "guid", - "identifier", - "uuid" - ], - "support": { - "issues": "https://github.com/ramsey/uuid/issues", - "source": "https://github.com/ramsey/uuid/tree/4.9.1" - }, - "time": "2025-09-04T20:59:21+00:00" - }, - { - "name": "spomky-labs/otphp", - "version": "v10.0.3", - "source": { - "type": "git", - "url": "https://github.com/Spomky-Labs/otphp.git", - "reference": "9784d9f7c790eed26e102d6c78f12c754036c366" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Spomky-Labs/otphp/zipball/9784d9f7c790eed26e102d6c78f12c754036c366", - "reference": "9784d9f7c790eed26e102d6c78f12c754036c366", - "shasum": "" - }, - "require": { - "beberlei/assert": "^3.0", - "ext-mbstring": "*", - "paragonie/constant_time_encoding": "^2.0", - "php": "^7.2|^8.0", - "thecodingmachine/safe": "^0.1.14|^1.0|^2.0" - }, - "require-dev": { - "php-coveralls/php-coveralls": "^2.0", - "phpstan/phpstan": "^0.12", - "phpstan/phpstan-beberlei-assert": "^0.12", - "phpstan/phpstan-deprecation-rules": "^0.12", - "phpstan/phpstan-phpunit": "^0.12", - "phpstan/phpstan-strict-rules": "^0.12", - "phpunit/phpunit": "^8.0", - "thecodingmachine/phpstan-safe-rule": "^1.0 || ^2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "v8.3": "8.3.x-dev", - "v9.0": "9.0.x-dev", - "v10.0": "10.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "OTPHP\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Florent Morselli", - "homepage": "https://github.com/Spomky" - }, - { - "name": "All contributors", - "homepage": "https://github.com/Spomky-Labs/otphp/contributors" - } - ], - "description": "A PHP library for generating one time passwords according to RFC 4226 (HOTP Algorithm) and the RFC 6238 (TOTP Algorithm) and compatible with Google Authenticator", - "homepage": "https://github.com/Spomky-Labs/otphp", - "keywords": [ - "FreeOTP", - "RFC 4226", - "RFC 6238", - "google authenticator", - "hotp", - "otp", - "totp" - ], - "support": { - "issues": "https://github.com/Spomky-Labs/otphp/issues", - "source": "https://github.com/Spomky-Labs/otphp/tree/v10.0.3" - }, - "time": "2022-03-17T08:00:35+00:00" - }, - { - "name": "symfony/deprecation-contracts", - "version": "v3.6.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62", - "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/contracts", - "name": "symfony/contracts" - }, - "branch-alias": { - "dev-main": "3.6-dev" - } - }, - "autoload": { - "files": [ - "function.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "A generic function and convention to trigger deprecation notices", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v3.6.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": "2024-09-25T14:21:43+00:00" - }, - { - "name": "symfony/http-client", - "version": "v7.3.6", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-client.git", - "reference": "3c0a55a2c8e21e30a37022801c11c7ab5a6cb2de" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/3c0a55a2c8e21e30a37022801c11c7ab5a6cb2de", - "reference": "3c0a55a2c8e21e30a37022801c11c7ab5a6cb2de", - "shasum": "" - }, - "require": { - "php": ">=8.2", - "psr/log": "^1|^2|^3", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/http-client-contracts": "~3.4.4|^3.5.2", - "symfony/polyfill-php83": "^1.29", - "symfony/service-contracts": "^2.5|^3" - }, - "conflict": { - "amphp/amp": "<2.5", - "amphp/socket": "<1.1", - "php-http/discovery": "<1.15", - "symfony/http-foundation": "<6.4" - }, - "provide": { - "php-http/async-client-implementation": "*", - "php-http/client-implementation": "*", - "psr/http-client-implementation": "1.0", - "symfony/http-client-implementation": "3.0" - }, - "require-dev": { - "amphp/http-client": "^4.2.1|^5.0", - "amphp/http-tunnel": "^1.0|^2.0", - "guzzlehttp/promises": "^1.4|^2.0", - "nyholm/psr7": "^1.0", - "php-http/httplug": "^1.0|^2.0", - "psr/http-client": "^1.0", - "symfony/amphp-http-client-meta": "^1.0|^2.0", - "symfony/dependency-injection": "^6.4|^7.0", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/messenger": "^6.4|^7.0", - "symfony/process": "^6.4|^7.0", - "symfony/rate-limiter": "^6.4|^7.0", - "symfony/stopwatch": "^6.4|^7.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpClient\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides powerful methods to fetch HTTP resources synchronously or asynchronously", - "homepage": "https://symfony.com", - "keywords": [ - "http" - ], - "support": { - "source": "https://github.com/symfony/http-client/tree/v7.3.6" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2025-11-05T17:41:46+00:00" - }, - { - "name": "symfony/http-client-contracts", - "version": "v3.6.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-client-contracts.git", - "reference": "75d7043853a42837e68111812f4d964b01e5101c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/75d7043853a42837e68111812f4d964b01e5101c", - "reference": "75d7043853a42837e68111812f4d964b01e5101c", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/contracts", - "name": "symfony/contracts" - }, - "branch-alias": { - "dev-main": "3.6-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Contracts\\HttpClient\\": "" - }, - "exclude-from-classmap": [ - "/Test/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Generic abstractions related to HTTP clients", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], - "support": { - "source": "https://github.com/symfony/http-client-contracts/tree/v3.6.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": "2025-04-29T11:18:49+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.33.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493", - "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493", - "shasum": "" - }, - "require": { - "ext-iconv": "*", - "php": ">=7.2" - }, - "provide": { - "ext-mbstring": "*" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for the Mbstring extension", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "mbstring", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.33.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-12-23T08:48:59+00:00" - }, - { - "name": "symfony/polyfill-php82", - "version": "v1.33.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php82.git", - "reference": "5d2ed36f7734637dacc025f179698031951b1692" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php82/zipball/5d2ed36f7734637dacc025f179698031951b1692", - "reference": "5d2ed36f7734637dacc025f179698031951b1692", - "shasum": "" - }, - "require": { - "php": ">=7.2" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php82\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 8.2+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php82/tree/v1.33.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-09-09T11:45:10+00:00" - }, - { - "name": "symfony/polyfill-php83", - "version": "v1.33.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php83.git", - "reference": "17f6f9a6b1735c0f163024d959f700cfbc5155e5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/17f6f9a6b1735c0f163024d959f700cfbc5155e5", - "reference": "17f6f9a6b1735c0f163024d959f700cfbc5155e5", - "shasum": "" - }, - "require": { - "php": ">=7.2" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php83\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 8.3+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php83/tree/v1.33.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2025-07-08T02:45:35+00:00" - }, - { - "name": "symfony/polyfill-php85", - "version": "v1.33.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php85.git", - "reference": "d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php85/zipball/d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91", - "reference": "d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91", - "shasum": "" - }, - "require": { - "php": ">=7.2" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php85\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 8.5+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php85/tree/v1.33.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2025-06-23T16:12:55+00:00" - }, - { - "name": "symfony/service-contracts", - "version": "v3.6.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/service-contracts.git", - "reference": "45112560a3ba2d715666a509a0bc9521d10b6c43" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/45112560a3ba2d715666a509a0bc9521d10b6c43", - "reference": "45112560a3ba2d715666a509a0bc9521d10b6c43", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "psr/container": "^1.1|^2.0", - "symfony/deprecation-contracts": "^2.5|^3" - }, - "conflict": { - "ext-psr": "<1.1|>=2" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/contracts", - "name": "symfony/contracts" - }, - "branch-alias": { - "dev-main": "3.6-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Contracts\\Service\\": "" - }, - "exclude-from-classmap": [ - "/Test/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Generic abstractions related to writing services", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], - "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.6.1" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2025-07-15T11:30:57+00:00" - }, - { - "name": "tbachert/spi", - "version": "v1.0.5", - "source": { - "type": "git", - "url": "https://github.com/Nevay/spi.git", - "reference": "e7078767866d0a9e0f91d3f9d42a832df5e39002" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Nevay/spi/zipball/e7078767866d0a9e0f91d3f9d42a832df5e39002", - "reference": "e7078767866d0a9e0f91d3f9d42a832df5e39002", - "shasum": "" - }, - "require": { - "composer-plugin-api": "^2.0", - "composer/semver": "^1.0 || ^2.0 || ^3.0", - "php": "^8.1" - }, - "require-dev": { - "composer/composer": "^2.0", - "infection/infection": "^0.27.9", - "phpunit/phpunit": "^10.5", - "psalm/phar": "^5.18" - }, - "type": "composer-plugin", - "extra": { - "class": "Nevay\\SPI\\Composer\\Plugin", - "branch-alias": { - "dev-main": "1.0.x-dev" - }, - "plugin-optional": true - }, - "autoload": { - "psr-4": { - "Nevay\\SPI\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "Service provider loading facility", - "keywords": [ - "service provider" - ], - "support": { - "issues": "https://github.com/Nevay/spi/issues", - "source": "https://github.com/Nevay/spi/tree/v1.0.5" - }, - "time": "2025-06-29T15:42:06+00:00" - }, - { - "name": "thecodingmachine/safe", - "version": "v2.5.0", - "source": { - "type": "git", - "url": "https://github.com/thecodingmachine/safe.git", - "reference": "3115ecd6b4391662b4931daac4eba6b07a2ac1f0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/safe/zipball/3115ecd6b4391662b4931daac4eba6b07a2ac1f0", - "reference": "3115ecd6b4391662b4931daac4eba6b07a2ac1f0", - "shasum": "" - }, - "require": { - "php": "^8.0" - }, - "require-dev": { - "phpstan/phpstan": "^1.5", - "phpunit/phpunit": "^9.5", - "squizlabs/php_codesniffer": "^3.2", - "thecodingmachine/phpstan-strict-rules": "^1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2.x-dev" - } - }, - "autoload": { - "files": [ - "deprecated/apc.php", - "deprecated/array.php", - "deprecated/datetime.php", - "deprecated/libevent.php", - "deprecated/misc.php", - "deprecated/password.php", - "deprecated/mssql.php", - "deprecated/stats.php", - "deprecated/strings.php", - "lib/special_cases.php", - "deprecated/mysqli.php", - "generated/apache.php", - "generated/apcu.php", - "generated/array.php", - "generated/bzip2.php", - "generated/calendar.php", - "generated/classobj.php", - "generated/com.php", - "generated/cubrid.php", - "generated/curl.php", - "generated/datetime.php", - "generated/dir.php", - "generated/eio.php", - "generated/errorfunc.php", - "generated/exec.php", - "generated/fileinfo.php", - "generated/filesystem.php", - "generated/filter.php", - "generated/fpm.php", - "generated/ftp.php", - "generated/funchand.php", - "generated/gettext.php", - "generated/gmp.php", - "generated/gnupg.php", - "generated/hash.php", - "generated/ibase.php", - "generated/ibmDb2.php", - "generated/iconv.php", - "generated/image.php", - "generated/imap.php", - "generated/info.php", - "generated/inotify.php", - "generated/json.php", - "generated/ldap.php", - "generated/libxml.php", - "generated/lzf.php", - "generated/mailparse.php", - "generated/mbstring.php", - "generated/misc.php", - "generated/mysql.php", - "generated/network.php", - "generated/oci8.php", - "generated/opcache.php", - "generated/openssl.php", - "generated/outcontrol.php", - "generated/pcntl.php", - "generated/pcre.php", - "generated/pgsql.php", - "generated/posix.php", - "generated/ps.php", - "generated/pspell.php", - "generated/readline.php", - "generated/rpminfo.php", - "generated/rrd.php", - "generated/sem.php", - "generated/session.php", - "generated/shmop.php", - "generated/sockets.php", - "generated/sodium.php", - "generated/solr.php", - "generated/spl.php", - "generated/sqlsrv.php", - "generated/ssdeep.php", - "generated/ssh2.php", - "generated/stream.php", - "generated/strings.php", - "generated/swoole.php", - "generated/uodbc.php", - "generated/uopz.php", - "generated/url.php", - "generated/var.php", - "generated/xdiff.php", - "generated/xml.php", - "generated/xmlrpc.php", - "generated/yaml.php", - "generated/yaz.php", - "generated/zip.php", - "generated/zlib.php" - ], - "classmap": [ - "lib/DateTime.php", - "lib/DateTimeImmutable.php", - "lib/Exceptions/", - "deprecated/Exceptions/", - "generated/Exceptions/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "PHP core functions that throw exceptions instead of returning FALSE on error", - "support": { - "issues": "https://github.com/thecodingmachine/safe/issues", - "source": "https://github.com/thecodingmachine/safe/tree/v2.5.0" - }, - "time": "2023-04-05T11:54:14+00:00" - }, - { - "name": "utopia-php/abuse", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/utopia-php/abuse.git", - "reference": "611fa66a97e87c0dbbc133a717d970da7a5ca828" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/utopia-php/abuse/zipball/611fa66a97e87c0dbbc133a717d970da7a5ca828", - "reference": "611fa66a97e87c0dbbc133a717d970da7a5ca828", - "shasum": "" - }, - "require": { - "ext-curl": "*", - "ext-pdo": "*", - "ext-redis": "*", - "php": ">=8.0", - "utopia-php/database": "*" - }, - "require-dev": { - "laravel/pint": "1.*", - "phpbench/phpbench": "1.*", - "phpstan/phpstan": "1.*", - "phpunit/phpunit": "9.*" - }, - "type": "library", - "autoload": { - "psr-4": { - "Utopia\\Abuse\\": "src/Abuse" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A simple abuse library to manage application usage limits", - "keywords": [ - "Abuse", - "framework", - "php", - "upf", - "utopia" - ], - "support": { - "issues": "https://github.com/utopia-php/abuse/issues", - "source": "https://github.com/utopia-php/abuse/tree/1.0.2" - }, - "time": "2025-10-20T07:18:33+00:00" - }, - { - "name": "utopia-php/analytics", - "version": "0.10.2", - "source": { - "type": "git", - "url": "https://github.com/utopia-php/analytics.git", - "reference": "14c805114736f44c26d6d24b176a2f8b93d86a1f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/utopia-php/analytics/zipball/14c805114736f44c26d6d24b176a2f8b93d86a1f", - "reference": "14c805114736f44c26d6d24b176a2f8b93d86a1f", - "shasum": "" - }, - "require": { - "php": ">=8.0", - "utopia-php/cli": "^0.15.0" - }, - "require-dev": { - "laravel/pint": "dev-main", - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "autoload": { - "psr-4": { - "Utopia\\Analytics\\": "src/Analytics" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A simple library to track events & users.", - "keywords": [ - "analytics", - "framework", - "php", - "upf", - "utopia" - ], - "support": { - "issues": "https://github.com/utopia-php/analytics/issues", - "source": "https://github.com/utopia-php/analytics/tree/0.10.2" - }, - "time": "2023-03-22T12:01:09+00:00" - }, - { - "name": "utopia-php/audit", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/utopia-php/audit.git", - "reference": "8c17065c2473d4ca799f65585ca74eb53e1be211" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/utopia-php/audit/zipball/8c17065c2473d4ca799f65585ca74eb53e1be211", - "reference": "8c17065c2473d4ca799f65585ca74eb53e1be211", - "shasum": "" - }, - "require": { - "php": ">=8.0", - "utopia-php/database": "*" - }, - "require-dev": { - "laravel/pint": "1.*", - "phpstan/phpstan": "1.*", - "phpunit/phpunit": "9.*" - }, - "type": "library", - "autoload": { - "psr-4": { - "Utopia\\Audit\\": "src/Audit" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A simple audit library to manage application users logs", - "keywords": [ - "Audit", - "framework", - "php", - "upf", - "utopia" - ], - "support": { - "issues": "https://github.com/utopia-php/audit/issues", - "source": "https://github.com/utopia-php/audit/tree/1.0.2" - }, - "time": "2025-10-20T07:14:26+00:00" - }, - { - "name": "utopia-php/cache", - "version": "0.13.1", - "source": { - "type": "git", - "url": "https://github.com/utopia-php/cache.git", - "reference": "97220cb3b3822b166ee016d1646e2ae2815dc540" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/utopia-php/cache/zipball/97220cb3b3822b166ee016d1646e2ae2815dc540", - "reference": "97220cb3b3822b166ee016d1646e2ae2815dc540", - "shasum": "" - }, - "require": { - "ext-json": "*", - "ext-memcached": "*", - "ext-redis": "*", - "php": ">=8.0", - "utopia-php/pools": "0.8.*", - "utopia-php/telemetry": "0.1.*" - }, - "require-dev": { - "laravel/pint": "1.2.*", - "phpstan/phpstan": "^1.12", - "phpunit/phpunit": "^9.3", - "vimeo/psalm": "4.13.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "Utopia\\Cache\\": "src/Cache" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A simple cache library to manage application cache storing, loading and purging", - "keywords": [ - "cache", - "framework", - "php", - "upf", - "utopia" - ], - "support": { - "issues": "https://github.com/utopia-php/cache/issues", - "source": "https://github.com/utopia-php/cache/tree/0.13.1" - }, - "time": "2025-05-09T14:43:52+00:00" - }, - { - "name": "utopia-php/cli", - "version": "0.15.2", - "source": { - "type": "git", - "url": "https://github.com/utopia-php/cli.git", - "reference": "da00ff6b8b29a826a1794002ae43442cdf3a0f5f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/utopia-php/cli/zipball/da00ff6b8b29a826a1794002ae43442cdf3a0f5f", - "reference": "da00ff6b8b29a826a1794002ae43442cdf3a0f5f", - "shasum": "" - }, - "require": { - "php": ">=7.4", - "utopia-php/framework": "0.*.*" - }, - "require-dev": { - "laravel/pint": "1.2.*", - "phpunit/phpunit": "^9.3", - "squizlabs/php_codesniffer": "^3.6", - "vimeo/psalm": "4.0.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "Utopia\\CLI\\": "src/CLI" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A simple CLI library to manage command line applications", - "keywords": [ - "cli", - "command line", - "framework", - "php", - "upf", - "utopia" - ], - "support": { - "issues": "https://github.com/utopia-php/cli/issues", - "source": "https://github.com/utopia-php/cli/tree/0.15.2" - }, - "time": "2025-04-15T10:08:48+00:00" - }, - { - "name": "utopia-php/compression", - "version": "0.1.3", - "source": { - "type": "git", - "url": "https://github.com/utopia-php/compression.git", - "reference": "66f093557ba66d98245e562036182016c7dcfe8a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/utopia-php/compression/zipball/66f093557ba66d98245e562036182016c7dcfe8a", - "reference": "66f093557ba66d98245e562036182016c7dcfe8a", - "shasum": "" - }, - "require": { - "php": ">=8.0" - }, - "require-dev": { - "laravel/pint": "1.2.*", - "phpunit/phpunit": "^9.3", - "vimeo/psalm": "4.0.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "Utopia\\Compression\\": "src/Compression" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A simple Compression library to handle file compression", - "keywords": [ - "compression", - "framework", - "php", - "upf", - "utopia" - ], - "support": { - "issues": "https://github.com/utopia-php/compression/issues", - "source": "https://github.com/utopia-php/compression/tree/0.1.3" - }, - "time": "2025-01-15T15:15:51+00:00" - }, - { - "name": "utopia-php/config", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/utopia-php/config.git", - "reference": "6672bf6c1b54ba608593570cbef31bef75f17dd8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/utopia-php/config/zipball/6672bf6c1b54ba608593570cbef31bef75f17dd8", - "reference": "6672bf6c1b54ba608593570cbef31bef75f17dd8", - "shasum": "" - }, - "require": { - "ext-yaml": "*", - "php": ">=8.0" - }, - "require-dev": { - "laravel/pint": "1.2.*", - "phpstan/phpstan": "^2.0", - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "autoload": { - "psr-4": { - "Utopia\\Config\\": "src/Config" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A simple Config library to managing application config variables", - "keywords": [ - "config", - "framework", - "php", - "upf", - "utopia" - ], - "support": { - "issues": "https://github.com/utopia-php/config/issues", - "source": "https://github.com/utopia-php/config/tree/1.0.0" - }, - "time": "2025-11-18T17:02:00+00:00" - }, - { - "name": "utopia-php/console", - "version": "0.0.1", - "source": { - "type": "git", - "url": "https://github.com/utopia-php/console.git", - "reference": "f77104e4a888fa9cb3e08f32955ec09479ab7a92" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/utopia-php/console/zipball/f77104e4a888fa9cb3e08f32955ec09479ab7a92", - "reference": "f77104e4a888fa9cb3e08f32955ec09479ab7a92", - "shasum": "" - }, - "require": { - "php": ">=7.4" - }, - "require-dev": { - "laravel/pint": "1.2.*", - "phpstan/phpstan": "^1.10", - "phpunit/phpunit": "^9.3", - "squizlabs/php_codesniffer": "^3.6", - "swoole/ide-helper": "4.8.8" - }, - "type": "library", - "autoload": { - "psr-4": { - "Utopia\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Console helpers for logging, prompting, and executing commands", - "keywords": [ - "cli", - "console", - "php", - "terminal", - "utopia" - ], - "support": { - "issues": "https://github.com/utopia-php/console/issues", - "source": "https://github.com/utopia-php/console/tree/0.0.1" - }, - "time": "2025-10-20T14:41:36+00:00" - }, - { - "name": "utopia-php/database", - "version": "3.5.0", - "source": { - "type": "git", - "url": "https://github.com/utopia-php/database.git", - "reference": "5da71b65a6123ce2e78795522b05b7458aabfbd7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/utopia-php/database/zipball/5da71b65a6123ce2e78795522b05b7458aabfbd7", - "reference": "5da71b65a6123ce2e78795522b05b7458aabfbd7", - "shasum": "" - }, - "require": { - "ext-mbstring": "*", - "ext-mongodb": "*", - "ext-pdo": "*", - "php": ">=8.1", - "utopia-php/cache": "0.13.*", - "utopia-php/framework": "0.33.*", - "utopia-php/mongo": "0.11.*", - "utopia-php/pools": "0.8.*" - }, - "require-dev": { - "fakerphp/faker": "1.23.*", - "laravel/pint": "*", - "pcov/clobber": "2.*", - "phpstan/phpstan": "1.*", - "phpunit/phpunit": "9.*", - "rregeer/phpunit-coverage-check": "0.3.*", - "swoole/ide-helper": "5.1.3", - "utopia-php/cli": "0.14.*" - }, - "type": "library", - "autoload": { - "psr-4": { - "Utopia\\Database\\": "src/Database" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A simple library to manage application persistence using multiple database adapters", - "keywords": [ - "database", - "framework", - "php", - "upf", - "utopia" - ], - "support": { - "issues": "https://github.com/utopia-php/database/issues", - "source": "https://github.com/utopia-php/database/tree/3.5.0" - }, - "time": "2025-11-18T08:11:01+00:00" - }, - { - "name": "utopia-php/detector", - "version": "0.2.3", - "source": { - "type": "git", - "url": "https://github.com/utopia-php/detector.git", - "reference": "c1f49b3e82250c3256ffba48aa9737d6c17a243a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/utopia-php/detector/zipball/c1f49b3e82250c3256ffba48aa9737d6c17a243a", - "reference": "c1f49b3e82250c3256ffba48aa9737d6c17a243a", - "shasum": "" - }, - "require": { - "php": ">=8.0" - }, - "require-dev": { - "laravel/pint": "1.2.*", - "phpstan/phpstan": "1.8.*", - "phpunit/phpunit": "^9.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "Utopia\\Detector\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A simple library for fast and reliable environment identification.", - "keywords": [ - "detector", - "framework", - "php", - "utopia" - ], - "support": { - "issues": "https://github.com/utopia-php/detector/issues", - "source": "https://github.com/utopia-php/detector/tree/0.2.3" - }, - "time": "2025-11-24T15:52:51+00:00" - }, - { - "name": "utopia-php/dns", - "version": "1.1.3", - "source": { - "type": "git", - "url": "https://github.com/utopia-php/dns.git", - "reference": "1e6b4bac735329c9e5ec69a6a5d899ec2d050707" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/utopia-php/dns/zipball/1e6b4bac735329c9e5ec69a6a5d899ec2d050707", - "reference": "1e6b4bac735329c9e5ec69a6a5d899ec2d050707", - "shasum": "" - }, - "require": { - "php": ">=8.3", - "utopia-php/console": "0.0.*", - "utopia-php/domains": "0.9.*", - "utopia-php/telemetry": "0.1.*", - "utopia-php/validators": "^0.0.2" - }, - "require-dev": { - "laravel/pint": "1.25.*", - "phpstan/phpstan": "2.0.*", - "phpunit/phpunit": "12.4.*", - "swoole/ide-helper": "5.1.8" - }, - "type": "library", - "autoload": { - "psr-4": { - "Utopia\\DNS\\": "src/DNS" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Eldad Fux", - "email": "eldad@appwrite.io" - } - ], - "description": "Lite & fast micro PHP DNS server abstraction that is **easy to use**.", - "keywords": [ - "dns", - "framework", - "php", - "upf", - "utopia" - ], - "support": { - "issues": "https://github.com/utopia-php/dns/issues", - "source": "https://github.com/utopia-php/dns/tree/1.1.3" - }, - "time": "2025-11-06T19:08:29+00:00" - }, - { - "name": "utopia-php/domains", - "version": "0.9.1", - "source": { - "type": "git", - "url": "https://github.com/utopia-php/domains.git", - "reference": "99b4ec95d5d6b7a5c990a66c56412212d9af37e7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/utopia-php/domains/zipball/99b4ec95d5d6b7a5c990a66c56412212d9af37e7", - "reference": "99b4ec95d5d6b7a5c990a66c56412212d9af37e7", - "shasum": "" - }, - "require": { - "php": ">=8.0", - "utopia-php/cache": "0.13.*", - "utopia-php/validators": "0.0.*" - }, - "require-dev": { - "laravel/pint": "1.2.*", - "phpstan/phpstan": "1.9.x-dev", - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "autoload": { - "psr-4": { - "Utopia\\Domains\\": "src/Domains" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Eldad Fux", - "email": "eldad@appwrite.io" - }, - { - "name": "Wess Cope", - "email": "wess@appwrite.io" - } - ], - "description": "Utopia Domains library is simple and lite library for parsing web domains. This library is aiming to be as simple and easy to learn and use.", - "keywords": [ - "domains", - "framework", - "icann", - "php", - "public suffix", - "tld", - "tld extract", - "upf", - "utopia" - ], - "support": { - "issues": "https://github.com/utopia-php/domains/issues", - "source": "https://github.com/utopia-php/domains/tree/0.9.1" - }, - "time": "2025-10-21T14:52:27+00:00" - }, - { - "name": "utopia-php/dsn", - "version": "0.2.1", - "source": { - "type": "git", - "url": "https://github.com/utopia-php/dsn.git", - "reference": "42ee37a3d1785100b2f69091c9d4affadb6846eb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/utopia-php/dsn/zipball/42ee37a3d1785100b2f69091c9d4affadb6846eb", - "reference": "42ee37a3d1785100b2f69091c9d4affadb6846eb", - "shasum": "" - }, - "require": { - "php": ">=8.0" - }, - "require-dev": { - "laravel/pint": "1.2.*", - "phpunit/phpunit": "^9.3", - "squizlabs/php_codesniffer": "^3.6", - "vimeo/psalm": "4.0.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "Utopia\\DSN\\": "src/DSN" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A simple library for parsing and managing Data Source Names ( DSNs )", - "keywords": [ - "dsn", - "framework", - "php", - "upf", - "utopia" - ], - "support": { - "issues": "https://github.com/utopia-php/dsn/issues", - "source": "https://github.com/utopia-php/dsn/tree/0.2.1" - }, - "time": "2024-05-07T02:01:25+00:00" - }, - { - "name": "utopia-php/emails", - "version": "0.6.2", - "source": { - "type": "git", - "url": "https://github.com/utopia-php/emails.git", - "reference": "9c4c40cf7c03c2e9e21364566f9b192d03ea93c9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/utopia-php/emails/zipball/9c4c40cf7c03c2e9e21364566f9b192d03ea93c9", - "reference": "9c4c40cf7c03c2e9e21364566f9b192d03ea93c9", - "shasum": "" - }, - "require": { - "php": ">=8.0", - "utopia-php/cli": "^0.15", - "utopia-php/domains": "^0.9", - "utopia-php/fetch": "^0.4", - "utopia-php/validators": "^0.0.2" - }, - "require-dev": { - "laravel/pint": "1.25.*", - "phpstan/phpstan": "^1.10", - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "autoload": { - "psr-4": { - "Utopia\\Emails\\": "src/Emails" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Eldad Fux", - "email": "eldad@appwrite.io" - } - ], - "description": "Utopia Emails library is simple and lite library for parsing and validating email addresses. This library is aiming to be as simple and easy to learn and use.", - "keywords": [ - "RFC5322", - "email", - "emails", - "framework", - "parsing", - "php", - "upf", - "utopia", - "validation" - ], - "support": { - "issues": "https://github.com/utopia-php/emails/issues", - "source": "https://github.com/utopia-php/emails/tree/0.6.2" - }, - "time": "2025-10-28T16:08:17+00:00" - }, - { - "name": "utopia-php/fetch", - "version": "0.4.2", - "source": { - "type": "git", - "url": "https://github.com/utopia-php/fetch.git", - "reference": "83986d1be75a2fae4e684107fe70dd78a8e19b77" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/utopia-php/fetch/zipball/83986d1be75a2fae4e684107fe70dd78a8e19b77", - "reference": "83986d1be75a2fae4e684107fe70dd78a8e19b77", - "shasum": "" - }, - "require": { - "php": ">=8.0" - }, - "require-dev": { - "laravel/pint": "^1.5.0", - "phpstan/phpstan": "^1.10", - "phpunit/phpunit": "^9.5" - }, - "type": "library", - "autoload": { - "psr-4": { - "Utopia\\Fetch\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A simple library that provides an interface for making HTTP Requests.", - "support": { - "issues": "https://github.com/utopia-php/fetch/issues", - "source": "https://github.com/utopia-php/fetch/tree/0.4.2" - }, - "time": "2025-04-25T13:48:02+00:00" - }, - { - "name": "utopia-php/framework", - "version": "0.33.30", - "source": { - "type": "git", - "url": "https://github.com/utopia-php/http.git", - "reference": "07cf699a7c47bd1a03b4da1812f1719a66b3c924" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/utopia-php/http/zipball/07cf699a7c47bd1a03b4da1812f1719a66b3c924", - "reference": "07cf699a7c47bd1a03b4da1812f1719a66b3c924", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "utopia-php/compression": "0.1.*", - "utopia-php/telemetry": "0.1.*" - }, - "require-dev": { - "laravel/pint": "^1.2", - "phpbench/phpbench": "^1.2", - "phpstan/phpstan": "^1.10", - "phpunit/phpunit": "^9.5.25" - }, - "type": "library", - "autoload": { - "psr-4": { - "Utopia\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A simple, light and advanced PHP framework", - "keywords": [ - "framework", - "php", - "upf" - ], - "support": { - "issues": "https://github.com/utopia-php/http/issues", - "source": "https://github.com/utopia-php/http/tree/0.33.30" - }, - "time": "2025-11-18T12:18:00+00:00" - }, - { - "name": "utopia-php/image", - "version": "0.8.4", - "source": { - "type": "git", - "url": "https://github.com/utopia-php/image.git", - "reference": "ce788ff0121a79286fdbe3ef3eba566de646df65" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/utopia-php/image/zipball/ce788ff0121a79286fdbe3ef3eba566de646df65", - "reference": "ce788ff0121a79286fdbe3ef3eba566de646df65", - "shasum": "" - }, - "require": { - "ext-gd": "*", - "ext-imagick": "*", - "php": ">=8.1" - }, - "require-dev": { - "laravel/pint": "1.2.*", - "phpstan/phpstan": "^1.10.0", - "phpunit/phpunit": "^9.3", - "vimeo/psalm": "4.13.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "Utopia\\Image\\": "src/Image" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A simple Image manipulation library", - "keywords": [ - "framework", - "image", - "php", - "upf", - "utopia" - ], - "support": { - "issues": "https://github.com/utopia-php/image/issues", - "source": "https://github.com/utopia-php/image/tree/0.8.4" - }, - "time": "2025-06-03T08:32:20+00:00" - }, - { - "name": "utopia-php/locale", - "version": "0.8.0", - "source": { - "type": "git", - "url": "https://github.com/utopia-php/locale.git", - "reference": "10ffc869c904c45e32ab0c61f4b33ba774777eb6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/utopia-php/locale/zipball/10ffc869c904c45e32ab0c61f4b33ba774777eb6", - "reference": "10ffc869c904c45e32ab0c61f4b33ba774777eb6", - "shasum": "" - }, - "require": { - "php": ">=7.4" - }, - "require-dev": { - "laravel/pint": "1.2.*", - "phpstan/phpstan": "1.*", - "phpunit/phpunit": "^9.3", - "vimeo/psalm": "4.0.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "Utopia\\Locale\\": "src/Locale" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A simple locale library to manage application translations", - "keywords": [ - "framework", - "locale", - "php", - "upf", - "utopia" - ], - "support": { - "issues": "https://github.com/utopia-php/locale/issues", - "source": "https://github.com/utopia-php/locale/tree/0.8.0" - }, - "time": "2025-08-12T12:58:26+00:00" - }, - { - "name": "utopia-php/logger", - "version": "0.6.2", - "source": { - "type": "git", - "url": "https://github.com/utopia-php/logger.git", - "reference": "25b5bd2ad8bb51292f76332faa7034644fd0941d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/utopia-php/logger/zipball/25b5bd2ad8bb51292f76332faa7034644fd0941d", - "reference": "25b5bd2ad8bb51292f76332faa7034644fd0941d", - "shasum": "" - }, - "require": { - "php": ">=8.0" - }, - "require-dev": { - "laravel/pint": "1.2.*", - "phpstan/phpstan": "1.9.x-dev", - "phpunit/phpunit": "^9.3", - "vimeo/psalm": "4.0.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "Utopia\\Logger\\": "src/Logger" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "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": [ - "appsignal", - "errors", - "framework", - "logger", - "logging", - "logs", - "php", - "raygun", - "sentry", - "upf", - "utopia", - "warnings" - ], - "support": { - "issues": "https://github.com/utopia-php/logger/issues", - "source": "https://github.com/utopia-php/logger/tree/0.6.2" - }, - "time": "2024-10-14T16:02:49+00:00" - }, - { - "name": "utopia-php/messaging", - "version": "0.20.0", - "source": { - "type": "git", - "url": "https://github.com/utopia-php/messaging.git", - "reference": "6c5be4588d97e3732a1907ecb13cd8a098eade96" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/utopia-php/messaging/zipball/6c5be4588d97e3732a1907ecb13cd8a098eade96", - "reference": "6c5be4588d97e3732a1907ecb13cd8a098eade96", - "shasum": "" - }, - "require": { - "ext-curl": "*", - "ext-openssl": "*", - "giggsey/libphonenumber-for-php-lite": "8.13.36", - "php": ">=8.0.0", - "phpmailer/phpmailer": "6.9.1" - }, - "require-dev": { - "laravel/pint": "1.*", - "phpstan/phpstan": "1.*", - "phpunit/phpunit": "11.*" - }, - "type": "library", - "autoload": { - "psr-4": { - "Utopia\\Messaging\\": "src/Utopia/Messaging" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A simple, light and advanced PHP messaging library", - "keywords": [ - "library", - "messaging", - "php", - "upf", - "utopia", - "utopia-php" - ], - "support": { - "issues": "https://github.com/utopia-php/messaging/issues", - "source": "https://github.com/utopia-php/messaging/tree/0.20.0" - }, - "time": "2025-10-22T04:27:37+00:00" - }, - { - "name": "utopia-php/migration", - "version": "1.3.6", - "source": { - "type": "git", - "url": "https://github.com/utopia-php/migration.git", - "reference": "4abe70cc242bbffebfa377e4126ee2a4a1c9ef7e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/utopia-php/migration/zipball/4abe70cc242bbffebfa377e4126ee2a4a1c9ef7e", - "reference": "4abe70cc242bbffebfa377e4126ee2a4a1c9ef7e", - "shasum": "" - }, - "require": { - "appwrite/appwrite": "15.*", - "ext-curl": "*", - "ext-openssl": "*", - "php": ">=8.1", - "utopia-php/console": "0.0.*", - "utopia-php/database": "3.*", - "utopia-php/dsn": "0.2.*", - "utopia-php/storage": "0.18.*" - }, - "require-dev": { - "ext-pdo": "*", - "laravel/pint": "1.*", - "phpstan/phpstan": "1.*", - "phpunit/phpunit": "11.*", - "vlucas/phpdotenv": "5.*" - }, - "type": "library", - "autoload": { - "psr-4": { - "Utopia\\Migration\\": "src/Migration" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A simple library to migrate resources between services.", - "keywords": [ - "framework", - "migration", - "php", - "upf", - "utopia" - ], - "support": { - "issues": "https://github.com/utopia-php/migration/issues", - "source": "https://github.com/utopia-php/migration/tree/1.3.6" - }, - "time": "2025-11-25T11:36:57+00:00" - }, - { - "name": "utopia-php/mongo", - "version": "0.11.0", - "source": { - "type": "git", - "url": "https://github.com/utopia-php/mongo.git", - "reference": "34bc0cda8ea368cde68702a6fffe2c3ac625398e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/utopia-php/mongo/zipball/34bc0cda8ea368cde68702a6fffe2c3ac625398e", - "reference": "34bc0cda8ea368cde68702a6fffe2c3ac625398e", - "shasum": "" - }, - "require": { - "ext-mongodb": "2.1.*", - "mongodb/mongodb": "2.1.*", - "php": ">=8.0", - "ramsey/uuid": "4.9.*" - }, - "require-dev": { - "fakerphp/faker": "1.*", - "laravel/pint": "*", - "phpstan/phpstan": "*", - "phpunit/phpunit": "9.*", - "swoole/ide-helper": "5.1.*" - }, - "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.11.0" - }, - "time": "2025-10-20T11:11:23+00:00" - }, - { - "name": "utopia-php/orchestration", - "version": "0.9.1", - "source": { - "type": "git", - "url": "https://github.com/utopia-php/orchestration.git", - "reference": "55f43513b3f940a3f4f9c2cde7682d0c2581beb0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/utopia-php/orchestration/zipball/55f43513b3f940a3f4f9c2cde7682d0c2581beb0", - "reference": "55f43513b3f940a3f4f9c2cde7682d0c2581beb0", - "shasum": "" - }, - "require": { - "php": ">=8.0", - "utopia-php/cli": "0.15.*" - }, - "require-dev": { - "laravel/pint": "^1.2", - "phpunit/phpunit": "^9.3", - "vimeo/psalm": "4.0.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "Utopia\\Orchestration\\": "src/Orchestration" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Lite & fast micro PHP abstraction library for container orchestration", - "keywords": [ - "docker", - "framework", - "kubernetes", - "orchestration", - "php", - "swarm", - "upf", - "utopia" - ], - "support": { - "issues": "https://github.com/utopia-php/orchestration/issues", - "source": "https://github.com/utopia-php/orchestration/tree/0.9.1" - }, - "time": "2023-03-17T15:05:06+00:00" - }, - { - "name": "utopia-php/platform", - "version": "0.7.12", - "source": { - "type": "git", - "url": "https://github.com/utopia-php/platform.git", - "reference": "04255de21db75e90b170040f4d1b457ba721e7a5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/utopia-php/platform/zipball/04255de21db75e90b170040f4d1b457ba721e7a5", - "reference": "04255de21db75e90b170040f4d1b457ba721e7a5", - "shasum": "" - }, - "require": { - "ext-json": "*", - "ext-redis": "*", - "php": ">=8.0", - "utopia-php/cli": "0.15.*", - "utopia-php/framework": "0.33.*", - "utopia-php/queue": "0.11.*" - }, - "require-dev": { - "laravel/pint": "1.*", - "phpunit/phpunit": "9.*" - }, - "type": "library", - "autoload": { - "psr-4": { - "Utopia\\Platform\\": "src/Platform" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Light and Fast Platform Library", - "keywords": [ - "framework", - "php", - "platform", - "upf", - "utopia" - ], - "support": { - "issues": "https://github.com/utopia-php/platform/issues", - "source": "https://github.com/utopia-php/platform/tree/0.7.12" - }, - "time": "2025-09-05T15:53:12+00:00" - }, - { - "name": "utopia-php/pools", - "version": "0.8.2", - "source": { - "type": "git", - "url": "https://github.com/utopia-php/pools.git", - "reference": "05c67aba42eb68ac65489cc1e7fc5db83db2dd4d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/utopia-php/pools/zipball/05c67aba42eb68ac65489cc1e7fc5db83db2dd4d", - "reference": "05c67aba42eb68ac65489cc1e7fc5db83db2dd4d", - "shasum": "" - }, - "require": { - "php": ">=8.3", - "utopia-php/telemetry": "0.1.*" - }, - "require-dev": { - "laravel/pint": "1.*", - "phpstan/phpstan": "1.*", - "phpunit/phpunit": "11.*" - }, - "type": "library", - "autoload": { - "psr-4": { - "Utopia\\Pools\\": "src/Pools" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Team Appwrite", - "email": "team@appwrite.io" - } - ], - "description": "A simple library to manage connection pools", - "keywords": [ - "framework", - "php", - "pools", - "utopia" - ], - "support": { - "issues": "https://github.com/utopia-php/pools/issues", - "source": "https://github.com/utopia-php/pools/tree/0.8.2" - }, - "time": "2025-04-17T02:04:54+00:00" - }, - { - "name": "utopia-php/preloader", - "version": "0.2.4", - "source": { - "type": "git", - "url": "https://github.com/utopia-php/preloader.git", - "reference": "65ef48392e72172f584b0baa2e224f9a1cebcce0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/utopia-php/preloader/zipball/65ef48392e72172f584b0baa2e224f9a1cebcce0", - "reference": "65ef48392e72172f584b0baa2e224f9a1cebcce0", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "require-dev": { - "phpunit/phpunit": "^9.3", - "vimeo/psalm": "4.0.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "Utopia\\Preloader\\": "src/Preloader" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Eldad Fux", - "email": "team@appwrite.io" - } - ], - "description": "Utopia Preloader library is simple and lite library for managing PHP preloading configuration", - "keywords": [ - "framework", - "php", - "preload", - "preloader", - "preloading", - "upf", - "utopia" - ], - "support": { - "issues": "https://github.com/utopia-php/preloader/issues", - "source": "https://github.com/utopia-php/preloader/tree/0.2.4" - }, - "time": "2020-10-24T07:04:59+00:00" - }, - { - "name": "utopia-php/queue", - "version": "0.11.1", - "source": { - "type": "git", - "url": "https://github.com/utopia-php/queue.git", - "reference": "498bbbef418b1db71b51e1bb62f5d1d752ddd8d6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/utopia-php/queue/zipball/498bbbef418b1db71b51e1bb62f5d1d752ddd8d6", - "reference": "498bbbef418b1db71b51e1bb62f5d1d752ddd8d6", - "shasum": "" - }, - "require": { - "php": ">=8.3", - "php-amqplib/php-amqplib": "^3.7", - "utopia-php/cli": "0.15.*", - "utopia-php/fetch": "0.4.*", - "utopia-php/framework": "0.33.*", - "utopia-php/pools": "0.8.*", - "utopia-php/telemetry": "0.1.*" - }, - "require-dev": { - "ext-redis": "*", - "laravel/pint": "^0.2.3", - "phpstan/phpstan": "^1.8", - "phpunit/phpunit": "^9.5.5", - "swoole/ide-helper": "4.8.8", - "workerman/workerman": "^4.0" - }, - "suggest": { - "ext-swoole": "Needed to support Swoole.", - "workerman/workerman": "Needed to support Workerman." - }, - "type": "library", - "autoload": { - "psr-4": { - "Utopia\\Queue\\": "src/Queue" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Torsten Dittmann", - "email": "torsten@appwrite.io" - } - ], - "description": "A powerful task queue.", - "keywords": [ - "Tasks", - "framework", - "php", - "queue", - "upf", - "utopia" - ], - "support": { - "issues": "https://github.com/utopia-php/queue/issues", - "source": "https://github.com/utopia-php/queue/tree/0.11.1" - }, - "time": "2025-05-30T11:50:34+00:00" - }, - { - "name": "utopia-php/registry", - "version": "0.5.0", - "source": { - "type": "git", - "url": "https://github.com/utopia-php/registry.git", - "reference": "bedc4ed54527b2803e6dfdccc39449f98522b70d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/utopia-php/registry/zipball/bedc4ed54527b2803e6dfdccc39449f98522b70d", - "reference": "bedc4ed54527b2803e6dfdccc39449f98522b70d", - "shasum": "" - }, - "require": { - "php": ">=7.4" - }, - "require-dev": { - "phpunit/phpunit": "^9.3", - "vimeo/psalm": "4.0.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "Utopia\\Registry\\": "src/Registry" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Eldad Fux", - "email": "eldad@appwrite.io" - } - ], - "description": "A simple dependency management library for PHP", - "keywords": [ - "dependency management", - "di", - "framework", - "php", - "upf", - "utopia" - ], - "support": { - "issues": "https://github.com/utopia-php/registry/issues", - "source": "https://github.com/utopia-php/registry/tree/0.5.0" - }, - "time": "2021-03-10T10:45:22+00:00" - }, - { - "name": "utopia-php/storage", - "version": "0.18.14", - "source": { - "type": "git", - "url": "https://github.com/utopia-php/storage.git", - "reference": "4f14ec952c6f4006dd0613e55bbf7631814fbc00" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/utopia-php/storage/zipball/4f14ec952c6f4006dd0613e55bbf7631814fbc00", - "reference": "4f14ec952c6f4006dd0613e55bbf7631814fbc00", - "shasum": "" - }, - "require": { - "ext-brotli": "*", - "ext-curl": "*", - "ext-fileinfo": "*", - "ext-lz4": "*", - "ext-simplexml": "*", - "ext-snappy": "*", - "ext-xz": "*", - "ext-zlib": "*", - "ext-zstd": "*", - "php": ">=8.1", - "utopia-php/framework": "0.*.*", - "utopia-php/system": "0.*.*", - "utopia-php/telemetry": "0.1.*" - }, - "require-dev": { - "laravel/pint": "1.2.*", - "phpunit/phpunit": "^9.3", - "vimeo/psalm": "4.0.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "Utopia\\Storage\\": "src/Storage" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A simple Storage library to manage application storage", - "keywords": [ - "framework", - "php", - "storage", - "upf", - "utopia" - ], - "support": { - "issues": "https://github.com/utopia-php/storage/issues", - "source": "https://github.com/utopia-php/storage/tree/0.18.14" - }, - "time": "2025-10-07T10:21:47+00:00" - }, - { - "name": "utopia-php/swoole", - "version": "0.8.4", - "source": { - "type": "git", - "url": "https://github.com/utopia-php/swoole.git", - "reference": "150c30700e738c52348cce9ed0e0f0ff96872081" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/utopia-php/swoole/zipball/150c30700e738c52348cce9ed0e0f0ff96872081", - "reference": "150c30700e738c52348cce9ed0e0f0ff96872081", - "shasum": "" - }, - "require": { - "ext-swoole": "*", - "php": ">=8.0", - "utopia-php/framework": "0.33.*" - }, - "require-dev": { - "laravel/pint": "1.2.*", - "phpstan/phpstan": "^1.10", - "phpunit/phpunit": "^9.3", - "swoole/ide-helper": "5.0.2" - }, - "type": "library", - "autoload": { - "psr-4": { - "Utopia\\Swoole\\": "src/Swoole" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "An extension for Utopia Framework to work with PHP Swoole as a PHP FPM alternative", - "keywords": [ - "framework", - "http", - "php", - "server", - "swoole", - "upf", - "utopia" - ], - "support": { - "issues": "https://github.com/utopia-php/swoole/issues", - "source": "https://github.com/utopia-php/swoole/tree/0.8.4" - }, - "time": "2025-09-07T09:39:46+00:00" - }, - { - "name": "utopia-php/system", - "version": "0.9.0", - "source": { - "type": "git", - "url": "https://github.com/utopia-php/system.git", - "reference": "8e4a7edaf2dfeb4c9524e9f766d27754f2c4b64d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/utopia-php/system/zipball/8e4a7edaf2dfeb4c9524e9f766d27754f2c4b64d", - "reference": "8e4a7edaf2dfeb4c9524e9f766d27754f2c4b64d", - "shasum": "" - }, - "require": { - "php": ">=8.0.0" - }, - "require-dev": { - "laravel/pint": "1.13.*", - "phpstan/phpstan": "1.10.*", - "phpunit/phpunit": "9.6.*" - }, - "type": "library", - "autoload": { - "psr-4": { - "Utopia\\System\\": "src/System" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Eldad Fux", - "email": "eldad@appwrite.io" - }, - { - "name": "Torsten Dittmann", - "email": "torsten@appwrite.io" - } - ], - "description": "A simple library for obtaining information about the host's system.", - "keywords": [ - "framework", - "php", - "system", - "upf", - "utopia" - ], - "support": { - "issues": "https://github.com/utopia-php/system/issues", - "source": "https://github.com/utopia-php/system/tree/0.9.0" - }, - "time": "2024-10-09T14:44:01+00:00" - }, - { - "name": "utopia-php/telemetry", - "version": "0.1.1", - "source": { - "type": "git", - "url": "https://github.com/utopia-php/telemetry.git", - "reference": "437f0021777f0e575dfb9e8a1a081b3aed75e33f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/utopia-php/telemetry/zipball/437f0021777f0e575dfb9e8a1a081b3aed75e33f", - "reference": "437f0021777f0e575dfb9e8a1a081b3aed75e33f", - "shasum": "" - }, - "require": { - "ext-opentelemetry": "*", - "ext-protobuf": "*", - "nyholm/psr7": "^1.8", - "open-telemetry/exporter-otlp": "^1.1", - "open-telemetry/sdk": "^1.1", - "php": ">=8.0", - "symfony/http-client": "^7.1" - }, - "require-dev": { - "laravel/pint": "^1.2", - "phpbench/phpbench": "^1.2", - "phpstan/phpstan": "^1.10", - "phpunit/phpunit": "^9.5.25" - }, - "type": "library", - "autoload": { - "psr-4": { - "Utopia\\Telemetry\\": "src/Telemetry" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "keywords": [ - "framework", - "php", - "upf" - ], - "support": { - "issues": "https://github.com/utopia-php/telemetry/issues", - "source": "https://github.com/utopia-php/telemetry/tree/0.1.1" - }, - "time": "2025-03-17T11:57:52+00:00" - }, - { - "name": "utopia-php/validators", - "version": "0.0.2", - "source": { - "type": "git", - "url": "https://github.com/utopia-php/validators.git", - "reference": "894210695c5d35fa248fb65f7fe7237b6ff4fb0b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/utopia-php/validators/zipball/894210695c5d35fa248fb65f7fe7237b6ff4fb0b", - "reference": "894210695c5d35fa248fb65f7fe7237b6ff4fb0b", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "require-dev": { - "ext-xdebug": "*", - "laravel/pint": "^1.2", - "phpstan/phpstan": "1.*", - "phpunit/phpunit": "^9.5.25" - }, - "type": "library", - "autoload": { - "psr-4": { - "Utopia\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A lightweight collection of reusable validators for Utopia projects", - "keywords": [ - "php", - "utopia", - "validation", - "validator" - ], - "support": { - "issues": "https://github.com/utopia-php/validators/issues", - "source": "https://github.com/utopia-php/validators/tree/0.0.2" - }, - "time": "2025-10-20T21:52:28+00:00" - }, - { - "name": "utopia-php/vcs", - "version": "0.12.0", - "source": { - "type": "git", - "url": "https://github.com/utopia-php/vcs.git", - "reference": "28457cf347972c4ec95d3ca77776a4921364a665" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/utopia-php/vcs/zipball/28457cf347972c4ec95d3ca77776a4921364a665", - "reference": "28457cf347972c4ec95d3ca77776a4921364a665", - "shasum": "" - }, - "require": { - "adhocore/jwt": "^1.1", - "php": ">=8.0", - "utopia-php/cache": "0.13.*", - "utopia-php/framework": "0.*.*", - "utopia-php/system": "0.9.*" - }, - "require-dev": { - "laravel/pint": "1.*.*", - "phpstan/phpstan": "1.*.*", - "phpunit/phpunit": "^9.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "Utopia\\VCS\\": "src/VCS" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A simple library to integrate version control systems like GitHub, GitLab etc. to receive webhook events", - "keywords": [ - "framework", - "php", - "utopia", - "vcs" - ], - "support": { - "issues": "https://github.com/utopia-php/vcs/issues", - "source": "https://github.com/utopia-php/vcs/tree/0.12.0" - }, - "time": "2025-10-22T12:58:29+00:00" - }, - { - "name": "utopia-php/websocket", - "version": "0.3.1", - "source": { - "type": "git", - "url": "https://github.com/utopia-php/websocket.git", - "reference": "77004ba9f66a0ab6eb840a85b2af332fca8f6bd9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/utopia-php/websocket/zipball/77004ba9f66a0ab6eb840a85b2af332fca8f6bd9", - "reference": "77004ba9f66a0ab6eb840a85b2af332fca8f6bd9", - "shasum": "" - }, - "require": { - "php": ">=8.0" - }, - "require-dev": { - "laravel/pint": "^1.15", - "phpstan/phpstan": "^1.12", - "phpunit/phpunit": "^9.5.5", - "swoole/ide-helper": "5.1.2", - "textalk/websocket": "1.5.2", - "workerman/workerman": "4.1.*" - }, - "type": "library", - "autoload": { - "psr-4": { - "Utopia\\WebSocket\\": "src/WebSocket" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A simple abstraction for WebSocket servers.", - "keywords": [ - "framework", - "php", - "upf", - "utopia", - "websocket" - ], - "support": { - "issues": "https://github.com/utopia-php/websocket/issues", - "source": "https://github.com/utopia-php/websocket/tree/0.3.1" - }, - "time": "2025-05-09T12:57:42+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.12.1", - "source": { - "type": "git", - "url": "https://github.com/webmozarts/assert.git", - "reference": "9be6926d8b485f55b9229203f962b51ed377ba68" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozarts/assert/zipball/9be6926d8b485f55b9229203f962b51ed377ba68", - "reference": "9be6926d8b485f55b9229203f962b51ed377ba68", - "shasum": "" - }, - "require": { - "ext-ctype": "*", - "ext-date": "*", - "ext-filter": "*", - "php": "^7.2 || ^8.0" - }, - "suggest": { - "ext-intl": "", - "ext-simplexml": "", - "ext-spl": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.10-dev" - } - }, - "autoload": { - "psr-4": { - "Webmozart\\Assert\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - } - ], - "description": "Assertions to validate method input/output with nice error messages.", - "keywords": [ - "assert", - "check", - "validate" - ], - "support": { - "issues": "https://github.com/webmozarts/assert/issues", - "source": "https://github.com/webmozarts/assert/tree/1.12.1" - }, - "time": "2025-10-29T15:56:20+00:00" - }, - { - "name": "webonyx/graphql-php", - "version": "v14.11.10", - "source": { - "type": "git", - "url": "https://github.com/webonyx/graphql-php.git", - "reference": "d9c2fdebc6aa01d831bc2969da00e8588cffef19" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webonyx/graphql-php/zipball/d9c2fdebc6aa01d831bc2969da00e8588cffef19", - "reference": "d9c2fdebc6aa01d831bc2969da00e8588cffef19", - "shasum": "" - }, - "require": { - "ext-json": "*", - "ext-mbstring": "*", - "php": "^7.1 || ^8" - }, - "require-dev": { - "amphp/amp": "^2.3", - "doctrine/coding-standard": "^6.0", - "nyholm/psr7": "^1.2", - "phpbench/phpbench": "^1.2", - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "0.12.82", - "phpstan/phpstan-phpunit": "0.12.18", - "phpstan/phpstan-strict-rules": "0.12.9", - "phpunit/phpunit": "^7.2 || ^8.5", - "psr/http-message": "^1.0", - "react/promise": "2.*", - "simpod/php-coveralls-mirror": "^3.0" - }, - "suggest": { - "psr/http-message": "To use standard GraphQL server", - "react/promise": "To leverage async resolving on React PHP platform" - }, - "type": "library", - "autoload": { - "psr-4": { - "GraphQL\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A PHP port of GraphQL reference implementation", - "homepage": "https://github.com/webonyx/graphql-php", - "keywords": [ - "api", - "graphql" - ], - "support": { - "issues": "https://github.com/webonyx/graphql-php/issues", - "source": "https://github.com/webonyx/graphql-php/tree/v14.11.10" - }, - "funding": [ - { - "url": "https://opencollective.com/webonyx-graphql-php", - "type": "open_collective" - } - ], - "time": "2023-07-05T14:23:37+00:00" - } - ], - "packages-dev": [ - { - "name": "appwrite/sdk-generator", - "version": "1.5.9", - "source": { - "type": "git", - "url": "https://github.com/appwrite/sdk-generator.git", - "reference": "ee434aa00a9185380b9a39bb46bf86d7104d3a93" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/appwrite/sdk-generator/zipball/ee434aa00a9185380b9a39bb46bf86d7104d3a93", - "reference": "ee434aa00a9185380b9a39bb46bf86d7104d3a93", - "shasum": "" - }, - "require": { - "ext-curl": "*", - "ext-json": "*", - "ext-mbstring": "*", - "matthiasmullie/minify": "1.3.*", - "php": ">=8.3", - "twig/twig": "3.14.*" - }, - "require-dev": { - "brianium/paratest": "7.*", - "phpunit/phpunit": "11.*", - "squizlabs/php_codesniffer": "3.*" - }, - "type": "library", - "autoload": { - "psr-4": { - "Appwrite\\SDK\\": "src/SDK", - "Appwrite\\Spec\\": "src/Spec" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Eldad Fux", - "email": "eldad@appwrite.io" - } - ], - "description": "Appwrite PHP library for generating API SDKs for multiple programming languages and platforms", - "support": { - "issues": "https://github.com/appwrite/sdk-generator/issues", - "source": "https://github.com/appwrite/sdk-generator/tree/1.5.9" - }, - "time": "2025-11-25T05:22:25+00:00" - }, - { - "name": "doctrine/annotations", - "version": "2.0.2", - "source": { - "type": "git", - "url": "https://github.com/doctrine/annotations.git", - "reference": "901c2ee5d26eb64ff43c47976e114bf00843acf7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/annotations/zipball/901c2ee5d26eb64ff43c47976e114bf00843acf7", - "reference": "901c2ee5d26eb64ff43c47976e114bf00843acf7", - "shasum": "" - }, - "require": { - "doctrine/lexer": "^2 || ^3", - "ext-tokenizer": "*", - "php": "^7.2 || ^8.0", - "psr/cache": "^1 || ^2 || ^3" - }, - "require-dev": { - "doctrine/cache": "^2.0", - "doctrine/coding-standard": "^10", - "phpstan/phpstan": "^1.10.28", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "symfony/cache": "^5.4 || ^6.4 || ^7", - "vimeo/psalm": "^4.30 || ^5.14" - }, - "suggest": { - "php": "PHP 8.0 or higher comes with attributes, a native replacement for annotations" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "Docblock Annotations Parser", - "homepage": "https://www.doctrine-project.org/projects/annotations.html", - "keywords": [ - "annotations", - "docblock", - "parser" - ], - "support": { - "issues": "https://github.com/doctrine/annotations/issues", - "source": "https://github.com/doctrine/annotations/tree/2.0.2" - }, - "abandoned": true, - "time": "2024-09-05T10:17:24+00:00" - }, - { - "name": "doctrine/instantiator", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", - "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", - "shasum": "" - }, - "require": { - "php": "^8.1" - }, - "require-dev": { - "doctrine/coding-standard": "^11", - "ext-pdo": "*", - "ext-phar": "*", - "phpbench/phpbench": "^1.2", - "phpstan/phpstan": "^1.9.4", - "phpstan/phpstan-phpunit": "^1.3", - "phpunit/phpunit": "^9.5.27", - "vimeo/psalm": "^5.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "https://ocramius.github.io/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://www.doctrine-project.org/projects/instantiator.html", - "keywords": [ - "constructor", - "instantiate" - ], - "support": { - "issues": "https://github.com/doctrine/instantiator/issues", - "source": "https://github.com/doctrine/instantiator/tree/2.0.0" - }, - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator", - "type": "tidelift" - } - ], - "time": "2022-12-30T00:23:10+00:00" - }, - { - "name": "doctrine/lexer", - "version": "3.0.1", - "source": { - "type": "git", - "url": "https://github.com/doctrine/lexer.git", - "reference": "31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd", - "reference": "31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd", - "shasum": "" - }, - "require": { - "php": "^8.1" - }, - "require-dev": { - "doctrine/coding-standard": "^12", - "phpstan/phpstan": "^1.10", - "phpunit/phpunit": "^10.5", - "psalm/plugin-phpunit": "^0.18.3", - "vimeo/psalm": "^5.21" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Common\\Lexer\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", - "homepage": "https://www.doctrine-project.org/projects/lexer.html", - "keywords": [ - "annotations", - "docblock", - "lexer", - "parser", - "php" - ], - "support": { - "issues": "https://github.com/doctrine/lexer/issues", - "source": "https://github.com/doctrine/lexer/tree/3.0.1" - }, - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Flexer", - "type": "tidelift" - } - ], - "time": "2024-02-05T11:56:58+00:00" - }, - { - "name": "laravel/pint", - "version": "v1.25.1", - "source": { - "type": "git", - "url": "https://github.com/laravel/pint.git", - "reference": "5016e263f95d97670d71b9a987bd8996ade6d8d9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laravel/pint/zipball/5016e263f95d97670d71b9a987bd8996ade6d8d9", - "reference": "5016e263f95d97670d71b9a987bd8996ade6d8d9", - "shasum": "" - }, - "require": { - "ext-json": "*", - "ext-mbstring": "*", - "ext-tokenizer": "*", - "ext-xml": "*", - "php": "^8.2.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^3.87.2", - "illuminate/view": "^11.46.0", - "larastan/larastan": "^3.7.1", - "laravel-zero/framework": "^11.45.0", - "mockery/mockery": "^1.6.12", - "nunomaduro/termwind": "^2.3.1", - "pestphp/pest": "^2.36.0" - }, - "bin": [ - "builds/pint" - ], - "type": "project", - "autoload": { - "psr-4": { - "App\\": "app/", - "Database\\Seeders\\": "database/seeders/", - "Database\\Factories\\": "database/factories/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nuno Maduro", - "email": "enunomaduro@gmail.com" - } - ], - "description": "An opinionated code formatter for PHP.", - "homepage": "https://laravel.com", - "keywords": [ - "format", - "formatter", - "lint", - "linter", - "php" - ], - "support": { - "issues": "https://github.com/laravel/pint/issues", - "source": "https://github.com/laravel/pint" - }, - "time": "2025-09-19T02:57:12+00:00" - }, - { - "name": "matthiasmullie/minify", - "version": "1.3.75", - "source": { - "type": "git", - "url": "https://github.com/matthiasmullie/minify.git", - "reference": "76ba4a5f555fd7bf4aa408af608e991569076671" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/matthiasmullie/minify/zipball/76ba4a5f555fd7bf4aa408af608e991569076671", - "reference": "76ba4a5f555fd7bf4aa408af608e991569076671", - "shasum": "" - }, - "require": { - "ext-pcre": "*", - "matthiasmullie/path-converter": "~1.1", - "php": ">=5.3.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": ">=2.0", - "matthiasmullie/scrapbook": ">=1.3", - "phpunit/phpunit": ">=4.8" - }, - "suggest": { - "psr/cache-implementation": "Cache implementation to use with Minify::cache" - }, - "bin": [ - "bin/minifycss", - "bin/minifyjs" - ], - "type": "library", - "autoload": { - "psr-4": { - "MatthiasMullie\\Minify\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Matthias Mullie", - "email": "minify@mullie.eu", - "homepage": "https://www.mullie.eu", - "role": "Developer" - } - ], - "description": "CSS & JavaScript minifier, in PHP. Removes whitespace, strips comments, combines files (incl. @import statements and small assets in CSS files), and optimizes/shortens a few common programming patterns.", - "homepage": "https://github.com/matthiasmullie/minify", - "keywords": [ - "JS", - "css", - "javascript", - "minifier", - "minify" - ], - "support": { - "issues": "https://github.com/matthiasmullie/minify/issues", - "source": "https://github.com/matthiasmullie/minify/tree/1.3.75" - }, - "funding": [ - { - "url": "https://github.com/matthiasmullie", - "type": "github" - } - ], - "time": "2025-06-25T09:56:19+00:00" - }, - { - "name": "matthiasmullie/path-converter", - "version": "1.1.3", - "source": { - "type": "git", - "url": "https://github.com/matthiasmullie/path-converter.git", - "reference": "e7d13b2c7e2f2268e1424aaed02085518afa02d9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/matthiasmullie/path-converter/zipball/e7d13b2c7e2f2268e1424aaed02085518afa02d9", - "reference": "e7d13b2c7e2f2268e1424aaed02085518afa02d9", - "shasum": "" - }, - "require": { - "ext-pcre": "*", - "php": ">=5.3.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.8" - }, - "type": "library", - "autoload": { - "psr-4": { - "MatthiasMullie\\PathConverter\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Matthias Mullie", - "email": "pathconverter@mullie.eu", - "homepage": "http://www.mullie.eu", - "role": "Developer" - } - ], - "description": "Relative path converter", - "homepage": "http://github.com/matthiasmullie/path-converter", - "keywords": [ - "converter", - "path", - "paths", - "relative" - ], - "support": { - "issues": "https://github.com/matthiasmullie/path-converter/issues", - "source": "https://github.com/matthiasmullie/path-converter/tree/1.1.3" - }, - "time": "2019-02-05T23:41:09+00:00" - }, - { - "name": "myclabs/deep-copy", - "version": "1.13.4", - "source": { - "type": "git", - "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/07d290f0c47959fd5eed98c95ee5602db07e0b6a", - "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0" - }, - "conflict": { - "doctrine/collections": "<1.6.8", - "doctrine/common": "<2.13.3 || >=3 <3.2.2" - }, - "require-dev": { - "doctrine/collections": "^1.6.8", - "doctrine/common": "^2.13.3 || ^3.2.2", - "phpspec/prophecy": "^1.10", - "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" - }, - "type": "library", - "autoload": { - "files": [ - "src/DeepCopy/deep_copy.php" - ], - "psr-4": { - "DeepCopy\\": "src/DeepCopy/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Create deep copies (clones) of your objects", - "keywords": [ - "clone", - "copy", - "duplicate", - "object", - "object graph" - ], - "support": { - "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.13.4" - }, - "funding": [ - { - "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", - "type": "tidelift" - } - ], - "time": "2025-08-01T08:46:24+00:00" - }, - { - "name": "nikic/php-parser", - "version": "v5.6.2", - "source": { - "type": "git", - "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "3a454ca033b9e06b63282ce19562e892747449bb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/3a454ca033b9e06b63282ce19562e892747449bb", - "reference": "3a454ca033b9e06b63282ce19562e892747449bb", - "shasum": "" - }, - "require": { - "ext-ctype": "*", - "ext-json": "*", - "ext-tokenizer": "*", - "php": ">=7.4" - }, - "require-dev": { - "ircmaxell/php-yacc": "^0.0.7", - "phpunit/phpunit": "^9.0" - }, - "bin": [ - "bin/php-parse" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.x-dev" - } - }, - "autoload": { - "psr-4": { - "PhpParser\\": "lib/PhpParser" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Nikita Popov" - } - ], - "description": "A PHP parser written in PHP", - "keywords": [ - "parser", - "php" - ], - "support": { - "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v5.6.2" - }, - "time": "2025-10-21T19:32:17+00:00" - }, - { - "name": "phar-io/manifest", - "version": "2.0.4", - "source": { - "type": "git", - "url": "https://github.com/phar-io/manifest.git", - "reference": "54750ef60c58e43759730615a392c31c80e23176" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176", - "reference": "54750ef60c58e43759730615a392c31c80e23176", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-libxml": "*", - "ext-phar": "*", - "ext-xmlwriter": "*", - "phar-io/version": "^3.0.1", - "php": "^7.2 || ^8.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - }, - { - "name": "Sebastian Heuer", - "email": "sebastian@phpeople.de", - "role": "Developer" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "Developer" - } - ], - "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", - "support": { - "issues": "https://github.com/phar-io/manifest/issues", - "source": "https://github.com/phar-io/manifest/tree/2.0.4" - }, - "funding": [ - { - "url": "https://github.com/theseer", - "type": "github" - } - ], - "time": "2024-03-03T12:33:53+00:00" - }, - { - "name": "phar-io/version", - "version": "3.2.1", - "source": { - "type": "git", - "url": "https://github.com/phar-io/version.git", - "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74", - "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - }, - { - "name": "Sebastian Heuer", - "email": "sebastian@phpeople.de", - "role": "Developer" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "Developer" - } - ], - "description": "Library for handling version information and constraints", - "support": { - "issues": "https://github.com/phar-io/version/issues", - "source": "https://github.com/phar-io/version/tree/3.2.1" - }, - "time": "2022-02-21T01:04:05+00:00" - }, - { - "name": "phpbench/container", - "version": "2.2.3", - "source": { - "type": "git", - "url": "https://github.com/phpbench/container.git", - "reference": "0c7b2d36c1ea53fe27302fb8873ded7172047196" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpbench/container/zipball/0c7b2d36c1ea53fe27302fb8873ded7172047196", - "reference": "0c7b2d36c1ea53fe27302fb8873ded7172047196", - "shasum": "" - }, - "require": { - "psr/container": "^1.0|^2.0", - "symfony/options-resolver": "^4.2 || ^5.0 || ^6.0 || ^7.0 || ^8.0" - }, - "require-dev": { - "php-cs-fixer/shim": "^3.89", - "phpstan/phpstan": "^0.12.52", - "phpunit/phpunit": "^8" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.x-dev" - } - }, - "autoload": { - "psr-4": { - "PhpBench\\DependencyInjection\\": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Daniel Leech", - "email": "daniel@dantleech.com" - } - ], - "description": "Simple, configurable, service container.", - "support": { - "issues": "https://github.com/phpbench/container/issues", - "source": "https://github.com/phpbench/container/tree/2.2.3" - }, - "time": "2025-11-06T09:05:13+00:00" - }, - { - "name": "phpbench/phpbench", - "version": "1.4.3", - "source": { - "type": "git", - "url": "https://github.com/phpbench/phpbench.git", - "reference": "b641dde59d969ea42eed70a39f9b51950bc96878" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpbench/phpbench/zipball/b641dde59d969ea42eed70a39f9b51950bc96878", - "reference": "b641dde59d969ea42eed70a39f9b51950bc96878", - "shasum": "" - }, - "require": { - "doctrine/annotations": "^2.0", - "ext-dom": "*", - "ext-json": "*", - "ext-pcre": "*", - "ext-reflection": "*", - "ext-spl": "*", - "ext-tokenizer": "*", - "php": "^8.1", - "phpbench/container": "^2.2", - "psr/log": "^1.1 || ^2.0 || ^3.0", - "seld/jsonlint": "^1.1", - "symfony/console": "^6.1 || ^7.0 || ^8.0", - "symfony/filesystem": "^6.1 || ^7.0 || ^8.0", - "symfony/finder": "^6.1 || ^7.0 || ^8.0", - "symfony/options-resolver": "^6.1 || ^7.0 || ^8.0", - "symfony/process": "^6.1 || ^7.0 || ^8.0", - "webmozart/glob": "^4.6" - }, - "require-dev": { - "dantleech/invoke": "^2.0", - "ergebnis/composer-normalize": "^2.39", - "jangregor/phpstan-prophecy": "^1.0", - "php-cs-fixer/shim": "^3.9", - "phpspec/prophecy": "^1.22", - "phpstan/extension-installer": "^1.1", - "phpstan/phpstan": "^1.0", - "phpstan/phpstan-phpunit": "^1.0", - "phpunit/phpunit": "^10.4 || ^11.0", - "rector/rector": "^1.2", - "symfony/error-handler": "^6.1 || ^7.0 || ^8.0", - "symfony/var-dumper": "^6.1 || ^7.0 || ^8.0" - }, - "suggest": { - "ext-xdebug": "For Xdebug profiling extension." - }, - "bin": [ - "bin/phpbench" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2-dev" - } - }, - "autoload": { - "files": [ - "lib/Report/Func/functions.php" - ], - "psr-4": { - "PhpBench\\": "lib/", - "PhpBench\\Extensions\\XDebug\\": "extensions/xdebug/lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Daniel Leech", - "email": "daniel@dantleech.com" - } - ], - "description": "PHP Benchmarking Framework", - "keywords": [ - "benchmarking", - "optimization", - "performance", - "profiling", - "testing" - ], - "support": { - "issues": "https://github.com/phpbench/phpbench/issues", - "source": "https://github.com/phpbench/phpbench/tree/1.4.3" - }, - "funding": [ - { - "url": "https://github.com/dantleech", - "type": "github" - } - ], - "time": "2025-11-06T19:07:31+00:00" - }, - { - "name": "phpstan/phpstan", - "version": "1.8.11", - "source": { - "type": "git", - "url": "https://github.com/phpstan/phpstan.git", - "reference": "46e223dd68a620da18855c23046ddb00940b4014" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/46e223dd68a620da18855c23046ddb00940b4014", - "reference": "46e223dd68a620da18855c23046ddb00940b4014", - "shasum": "" - }, - "require": { - "php": "^7.2|^8.0" - }, - "conflict": { - "phpstan/phpstan-shim": "*" - }, - "bin": [ - "phpstan", - "phpstan.phar" - ], - "type": "library", - "autoload": { - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "PHPStan - PHP Static Analysis Tool", - "keywords": [ - "dev", - "static analysis" - ], - "support": { - "issues": "https://github.com/phpstan/phpstan/issues", - "source": "https://github.com/phpstan/phpstan/tree/1.8.11" - }, - "funding": [ - { - "url": "https://github.com/ondrejmirtes", - "type": "github" - }, - { - "url": "https://github.com/phpstan", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpstan/phpstan", - "type": "tidelift" - } - ], - "time": "2022-10-24T15:45:13+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "9.2.32", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "85402a822d1ecf1db1096959413d35e1c37cf1a5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/85402a822d1ecf1db1096959413d35e1c37cf1a5", - "reference": "85402a822d1ecf1db1096959413d35e1c37cf1a5", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-libxml": "*", - "ext-xmlwriter": "*", - "nikic/php-parser": "^4.19.1 || ^5.1.0", - "php": ">=7.3", - "phpunit/php-file-iterator": "^3.0.6", - "phpunit/php-text-template": "^2.0.4", - "sebastian/code-unit-reverse-lookup": "^2.0.3", - "sebastian/complexity": "^2.0.3", - "sebastian/environment": "^5.1.5", - "sebastian/lines-of-code": "^1.0.4", - "sebastian/version": "^3.0.2", - "theseer/tokenizer": "^1.2.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.6" - }, - "suggest": { - "ext-pcov": "PHP extension that provides line coverage", - "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "9.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", - "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.32" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-08-22T04:23:01+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "3.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", - "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", - "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2021-12-02T12:48:52+00:00" - }, - { - "name": "phpunit/php-invoker", - "version": "3.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-invoker.git", - "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67", - "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "ext-pcntl": "*", - "phpunit/phpunit": "^9.3" - }, - "suggest": { - "ext-pcntl": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.1-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Invoke callables with a timeout", - "homepage": "https://github.com/sebastianbergmann/php-invoker/", - "keywords": [ - "process" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-invoker/issues", - "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-09-28T05:58:55+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "2.0.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", - "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-text-template/issues", - "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-10-26T05:33:50+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "5.0.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", - "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-timer/issues", - "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-10-26T13:16:10+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "9.6.29", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "9ecfec57835a5581bc888ea7e13b51eb55ab9dd3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/9ecfec57835a5581bc888ea7e13b51eb55ab9dd3", - "reference": "9ecfec57835a5581bc888ea7e13b51eb55ab9dd3", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.5.0 || ^2", - "ext-dom": "*", - "ext-json": "*", - "ext-libxml": "*", - "ext-mbstring": "*", - "ext-xml": "*", - "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.13.4", - "phar-io/manifest": "^2.0.4", - "phar-io/version": "^3.2.1", - "php": ">=7.3", - "phpunit/php-code-coverage": "^9.2.32", - "phpunit/php-file-iterator": "^3.0.6", - "phpunit/php-invoker": "^3.1.1", - "phpunit/php-text-template": "^2.0.4", - "phpunit/php-timer": "^5.0.3", - "sebastian/cli-parser": "^1.0.2", - "sebastian/code-unit": "^1.0.8", - "sebastian/comparator": "^4.0.9", - "sebastian/diff": "^4.0.6", - "sebastian/environment": "^5.1.5", - "sebastian/exporter": "^4.0.8", - "sebastian/global-state": "^5.0.8", - "sebastian/object-enumerator": "^4.0.4", - "sebastian/resource-operations": "^3.0.4", - "sebastian/type": "^3.2.1", - "sebastian/version": "^3.0.2" - }, - "suggest": { - "ext-soap": "To be able to generate mocks based on WSDL files", - "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "9.6-dev" - } - }, - "autoload": { - "files": [ - "src/Framework/Assert/Functions.php" - ], - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/phpunit/issues", - "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.29" - }, - "funding": [ - { - "url": "https://phpunit.de/sponsors.html", - "type": "custom" - }, - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - }, - { - "url": "https://liberapay.com/sebastianbergmann", - "type": "liberapay" - }, - { - "url": "https://thanks.dev/u/gh/sebastianbergmann", - "type": "thanks_dev" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", - "type": "tidelift" - } - ], - "time": "2025-09-24T06:29:11+00:00" - }, - { - "name": "psr/cache", - "version": "3.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/cache.git", - "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", - "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", - "shasum": "" - }, - "require": { - "php": ">=8.0.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Cache\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for caching libraries", - "keywords": [ - "cache", - "psr", - "psr-6" - ], - "support": { - "source": "https://github.com/php-fig/cache/tree/3.0.0" - }, - "time": "2021-02-03T23:26:27+00:00" - }, - { - "name": "sebastian/cli-parser", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/cli-parser.git", - "reference": "2b56bea83a09de3ac06bb18b92f068e60cc6f50b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/2b56bea83a09de3ac06bb18b92f068e60cc6f50b", - "reference": "2b56bea83a09de3ac06bb18b92f068e60cc6f50b", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library for parsing CLI options", - "homepage": "https://github.com/sebastianbergmann/cli-parser", - "support": { - "issues": "https://github.com/sebastianbergmann/cli-parser/issues", - "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.2" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-03-02T06:27:43+00:00" - }, - { - "name": "sebastian/code-unit", - "version": "1.0.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/code-unit.git", - "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120", - "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Collection of value objects that represent the PHP code units", - "homepage": "https://github.com/sebastianbergmann/code-unit", - "support": { - "issues": "https://github.com/sebastianbergmann/code-unit/issues", - "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-10-26T13:08:54+00:00" - }, - { - "name": "sebastian/code-unit-reverse-lookup", - "version": "2.0.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", - "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", - "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Looks up which function or method a line of code belongs to", - "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", - "support": { - "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", - "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-09-28T05:30:19+00:00" - }, - { - "name": "sebastian/comparator", - "version": "4.0.9", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "67a2df3a62639eab2cc5906065e9805d4fd5dfc5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/67a2df3a62639eab2cc5906065e9805d4fd5dfc5", - "reference": "67a2df3a62639eab2cc5906065e9805d4fd5dfc5", - "shasum": "" - }, - "require": { - "php": ">=7.3", - "sebastian/diff": "^4.0", - "sebastian/exporter": "^4.0" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "https://github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/comparator/issues", - "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.9" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - }, - { - "url": "https://liberapay.com/sebastianbergmann", - "type": "liberapay" - }, - { - "url": "https://thanks.dev/u/gh/sebastianbergmann", - "type": "thanks_dev" - }, - { - "url": "https://tidelift.com/funding/github/packagist/sebastian/comparator", - "type": "tidelift" - } - ], - "time": "2025-08-10T06:51:50+00:00" - }, - { - "name": "sebastian/complexity", - "version": "2.0.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/complexity.git", - "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/25f207c40d62b8b7aa32f5ab026c53561964053a", - "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a", - "shasum": "" - }, - "require": { - "nikic/php-parser": "^4.18 || ^5.0", - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library for calculating the complexity of PHP code units", - "homepage": "https://github.com/sebastianbergmann/complexity", - "support": { - "issues": "https://github.com/sebastianbergmann/complexity/issues", - "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.3" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-12-22T06:19:30+00:00" - }, - { - "name": "sebastian/diff", - "version": "4.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/ba01945089c3a293b01ba9badc29ad55b106b0bc", - "reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3", - "symfony/process": "^4.2 || ^5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff", - "udiff", - "unidiff", - "unified diff" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/diff/issues", - "source": "https://github.com/sebastianbergmann/diff/tree/4.0.6" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-03-02T06:30:58+00:00" - }, - { - "name": "sebastian/environment", - "version": "5.1.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", - "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "suggest": { - "ext-posix": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.1-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/environment/issues", - "source": "https://github.com/sebastianbergmann/environment/tree/5.1.5" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-02-03T06:03:51+00:00" - }, - { - "name": "sebastian/exporter", - "version": "4.0.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "14c6ba52f95a36c3d27c835d65efc7123c446e8c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/14c6ba52f95a36c3d27c835d65efc7123c446e8c", - "reference": "14c6ba52f95a36c3d27c835d65efc7123c446e8c", - "shasum": "" - }, - "require": { - "php": ">=7.3", - "sebastian/recursion-context": "^4.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "https://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/exporter/issues", - "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.8" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - }, - { - "url": "https://liberapay.com/sebastianbergmann", - "type": "liberapay" - }, - { - "url": "https://thanks.dev/u/gh/sebastianbergmann", - "type": "thanks_dev" - }, - { - "url": "https://tidelift.com/funding/github/packagist/sebastian/exporter", - "type": "tidelift" - } - ], - "time": "2025-09-24T06:03:27+00:00" - }, - { - "name": "sebastian/global-state", - "version": "5.0.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "b6781316bdcd28260904e7cc18ec983d0d2ef4f6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/b6781316bdcd28260904e7cc18ec983d0d2ef4f6", - "reference": "b6781316bdcd28260904e7cc18ec983d0d2ef4f6", - "shasum": "" - }, - "require": { - "php": ">=7.3", - "sebastian/object-reflector": "^2.0", - "sebastian/recursion-context": "^4.0" - }, - "require-dev": { - "ext-dom": "*", - "phpunit/phpunit": "^9.3" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/global-state/issues", - "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.8" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - }, - { - "url": "https://liberapay.com/sebastianbergmann", - "type": "liberapay" - }, - { - "url": "https://thanks.dev/u/gh/sebastianbergmann", - "type": "thanks_dev" - }, - { - "url": "https://tidelift.com/funding/github/packagist/sebastian/global-state", - "type": "tidelift" - } - ], - "time": "2025-08-10T07:10:35+00:00" - }, - { - "name": "sebastian/lines-of-code", - "version": "1.0.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/lines-of-code.git", - "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/e1e4a170560925c26d424b6a03aed157e7dcc5c5", - "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5", - "shasum": "" - }, - "require": { - "nikic/php-parser": "^4.18 || ^5.0", - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library for counting the lines of code in PHP source code", - "homepage": "https://github.com/sebastianbergmann/lines-of-code", - "support": { - "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", - "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.4" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-12-22T06:20:34+00:00" - }, - { - "name": "sebastian/object-enumerator", - "version": "4.0.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "5c9eeac41b290a3712d88851518825ad78f45c71" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71", - "reference": "5c9eeac41b290a3712d88851518825ad78f45c71", - "shasum": "" - }, - "require": { - "php": ">=7.3", - "sebastian/object-reflector": "^2.0", - "sebastian/recursion-context": "^4.0" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Traverses array structures and object graphs to enumerate all referenced objects", - "homepage": "https://github.com/sebastianbergmann/object-enumerator/", - "support": { - "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", - "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-10-26T13:12:34+00:00" - }, - { - "name": "sebastian/object-reflector", - "version": "2.0.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/object-reflector.git", - "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", - "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Allows reflection of object attributes, including inherited and non-public ones", - "homepage": "https://github.com/sebastianbergmann/object-reflector/", - "support": { - "issues": "https://github.com/sebastianbergmann/object-reflector/issues", - "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-10-26T13:14:26+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "4.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "539c6691e0623af6dc6f9c20384c120f963465a0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/539c6691e0623af6dc6f9c20384c120f963465a0", - "reference": "539c6691e0623af6dc6f9c20384c120f963465a0", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "https://github.com/sebastianbergmann/recursion-context", - "support": { - "issues": "https://github.com/sebastianbergmann/recursion-context/issues", - "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.6" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - }, - { - "url": "https://liberapay.com/sebastianbergmann", - "type": "liberapay" - }, - { - "url": "https://thanks.dev/u/gh/sebastianbergmann", - "type": "thanks_dev" - }, - { - "url": "https://tidelift.com/funding/github/packagist/sebastian/recursion-context", - "type": "tidelift" - } - ], - "time": "2025-08-10T06:57:39+00:00" - }, - { - "name": "sebastian/resource-operations", - "version": "3.0.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/resource-operations.git", - "reference": "05d5692a7993ecccd56a03e40cd7e5b09b1d404e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/05d5692a7993ecccd56a03e40cd7e5b09b1d404e", - "reference": "05d5692a7993ecccd56a03e40cd7e5b09b1d404e", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides a list of PHP built-in functions that operate on resources", - "homepage": "https://www.github.com/sebastianbergmann/resource-operations", - "support": { - "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.4" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-03-14T16:00:52+00:00" - }, - { - "name": "sebastian/type", - "version": "3.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/type.git", - "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", - "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Collection of value objects that represent the types of the PHP type system", - "homepage": "https://github.com/sebastianbergmann/type", - "support": { - "issues": "https://github.com/sebastianbergmann/type/issues", - "source": "https://github.com/sebastianbergmann/type/tree/3.2.1" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-02-03T06:13:03+00:00" - }, - { - "name": "sebastian/version", - "version": "3.0.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "c6c1022351a901512170118436c764e473f6de8c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c", - "reference": "c6c1022351a901512170118436c764e473f6de8c", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version", - "support": { - "issues": "https://github.com/sebastianbergmann/version/issues", - "source": "https://github.com/sebastianbergmann/version/tree/3.0.2" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-09-28T06:39:44+00:00" - }, - { - "name": "seld/jsonlint", - "version": "1.11.0", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/jsonlint.git", - "reference": "1748aaf847fc731cfad7725aec413ee46f0cc3a2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/1748aaf847fc731cfad7725aec413ee46f0cc3a2", - "reference": "1748aaf847fc731cfad7725aec413ee46f0cc3a2", - "shasum": "" - }, - "require": { - "php": "^5.3 || ^7.0 || ^8.0" - }, - "require-dev": { - "phpstan/phpstan": "^1.11", - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^8.5.13" - }, - "bin": [ - "bin/jsonlint" - ], - "type": "library", - "autoload": { - "psr-4": { - "Seld\\JsonLint\\": "src/Seld/JsonLint/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "https://seld.be" - } - ], - "description": "JSON Linter", - "keywords": [ - "json", - "linter", - "parser", - "validator" - ], - "support": { - "issues": "https://github.com/Seldaek/jsonlint/issues", - "source": "https://github.com/Seldaek/jsonlint/tree/1.11.0" - }, - "funding": [ - { - "url": "https://github.com/Seldaek", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/seld/jsonlint", - "type": "tidelift" - } - ], - "time": "2024-07-11T14:55:45+00:00" - }, - { - "name": "swoole/ide-helper", - "version": "5.1.2", - "source": { - "type": "git", - "url": "https://github.com/swoole/ide-helper.git", - "reference": "33ec7af9111b76d06a70dd31191cc74793551112" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/swoole/ide-helper/zipball/33ec7af9111b76d06a70dd31191cc74793551112", - "reference": "33ec7af9111b76d06a70dd31191cc74793551112", - "shasum": "" - }, - "type": "library", - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Team Swoole", - "email": "team@swoole.com" - } - ], - "description": "IDE help files for Swoole.", - "support": { - "issues": "https://github.com/swoole/ide-helper/issues", - "source": "https://github.com/swoole/ide-helper/tree/5.1.2" - }, - "time": "2024-02-01T22:28:11+00:00" - }, - { - "name": "symfony/console", - "version": "v7.3.6", - "source": { - "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "c28ad91448f86c5f6d9d2c70f0cf68bf135f252a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/c28ad91448f86c5f6d9d2c70f0cf68bf135f252a", - "reference": "c28ad91448f86c5f6d9d2c70f0cf68bf135f252a", - "shasum": "" - }, - "require": { - "php": ">=8.2", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/polyfill-mbstring": "~1.0", - "symfony/service-contracts": "^2.5|^3", - "symfony/string": "^7.2" - }, - "conflict": { - "symfony/dependency-injection": "<6.4", - "symfony/dotenv": "<6.4", - "symfony/event-dispatcher": "<6.4", - "symfony/lock": "<6.4", - "symfony/process": "<6.4" - }, - "provide": { - "psr/log-implementation": "1.0|2.0|3.0" - }, - "require-dev": { - "psr/log": "^1|^2|^3", - "symfony/config": "^6.4|^7.0", - "symfony/dependency-injection": "^6.4|^7.0", - "symfony/event-dispatcher": "^6.4|^7.0", - "symfony/http-foundation": "^6.4|^7.0", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/lock": "^6.4|^7.0", - "symfony/messenger": "^6.4|^7.0", - "symfony/process": "^6.4|^7.0", - "symfony/stopwatch": "^6.4|^7.0", - "symfony/var-dumper": "^6.4|^7.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Console\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Eases the creation of beautiful and testable command line interfaces", - "homepage": "https://symfony.com", - "keywords": [ - "cli", - "command-line", - "console", - "terminal" - ], - "support": { - "source": "https://github.com/symfony/console/tree/v7.3.6" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2025-11-04T01:21:42+00:00" - }, - { - "name": "symfony/filesystem", - "version": "v7.3.6", - "source": { - "type": "git", - "url": "https://github.com/symfony/filesystem.git", - "reference": "e9bcfd7837928ab656276fe00464092cc9e1826a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/e9bcfd7837928ab656276fe00464092cc9e1826a", - "reference": "e9bcfd7837928ab656276fe00464092cc9e1826a", - "shasum": "" - }, - "require": { - "php": ">=8.2", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-mbstring": "~1.8" - }, - "require-dev": { - "symfony/process": "^6.4|^7.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Filesystem\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides basic utilities for the filesystem", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/filesystem/tree/v7.3.6" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2025-11-05T09:52:27+00:00" - }, - { - "name": "symfony/finder", - "version": "v7.3.5", - "source": { - "type": "git", - "url": "https://github.com/symfony/finder.git", - "reference": "9f696d2f1e340484b4683f7853b273abff94421f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/9f696d2f1e340484b4683f7853b273abff94421f", - "reference": "9f696d2f1e340484b4683f7853b273abff94421f", - "shasum": "" - }, - "require": { - "php": ">=8.2" - }, - "require-dev": { - "symfony/filesystem": "^6.4|^7.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Finder\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Finds files and directories via an intuitive fluent interface", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/finder/tree/v7.3.5" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2025-10-15T18:45:57+00:00" - }, - { - "name": "symfony/options-resolver", - "version": "v7.3.3", - "source": { - "type": "git", - "url": "https://github.com/symfony/options-resolver.git", - "reference": "0ff2f5c3df08a395232bbc3c2eb7e84912df911d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/0ff2f5c3df08a395232bbc3c2eb7e84912df911d", - "reference": "0ff2f5c3df08a395232bbc3c2eb7e84912df911d", - "shasum": "" - }, - "require": { - "php": ">=8.2", - "symfony/deprecation-contracts": "^2.5|^3" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\OptionsResolver\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides an improved replacement for the array_replace PHP function", - "homepage": "https://symfony.com", - "keywords": [ - "config", - "configuration", - "options" - ], - "support": { - "source": "https://github.com/symfony/options-resolver/tree/v7.3.3" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2025-08-05T10:16:07+00:00" - }, - { - "name": "symfony/polyfill-ctype", - "version": "v1.33.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638", - "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638", - "shasum": "" - }, - "require": { - "php": ">=7.2" - }, - "provide": { - "ext-ctype": "*" - }, - "suggest": { - "ext-ctype": "For best performance" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Ctype\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Gert de Pagter", - "email": "BackEndTea@gmail.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for ctype functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "ctype", - "polyfill", - "portable" - ], - "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.33.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-09-09T11:45:10+00:00" - }, - { - "name": "symfony/polyfill-intl-grapheme", - "version": "v1.33.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "380872130d3a5dd3ace2f4010d95125fde5d5c70" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/380872130d3a5dd3ace2f4010d95125fde5d5c70", - "reference": "380872130d3a5dd3ace2f4010d95125fde5d5c70", - "shasum": "" - }, - "require": { - "php": ">=7.2" - }, - "suggest": { - "ext-intl": "For best performance" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Intl\\Grapheme\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for intl's grapheme_* functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "grapheme", - "intl", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.33.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2025-06-27T09:58:17+00:00" - }, - { - "name": "symfony/polyfill-intl-normalizer", - "version": "v1.33.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "3833d7255cc303546435cb650316bff708a1c75c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c", - "reference": "3833d7255cc303546435cb650316bff708a1c75c", - "shasum": "" - }, - "require": { - "php": ">=7.2" - }, - "suggest": { - "ext-intl": "For best performance" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Intl\\Normalizer\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for intl's Normalizer class and related functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "intl", - "normalizer", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.33.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-09-09T11:45:10+00:00" - }, - { - "name": "symfony/polyfill-php81", - "version": "v1.33.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php81.git", - "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c", - "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c", - "shasum": "" - }, - "require": { - "php": ">=7.2" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php81\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php81/tree/v1.33.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-09-09T11:45:10+00:00" - }, - { - "name": "symfony/process", - "version": "v7.3.4", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "f24f8f316367b30810810d4eb30c543d7003ff3b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/f24f8f316367b30810810d4eb30c543d7003ff3b", - "reference": "f24f8f316367b30810810d4eb30c543d7003ff3b", - "shasum": "" - }, - "require": { - "php": ">=8.2" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Process\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Executes commands in sub-processes", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/process/tree/v7.3.4" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2025-09-11T10:12:26+00:00" - }, - { - "name": "symfony/string", - "version": "v7.3.4", - "source": { - "type": "git", - "url": "https://github.com/symfony/string.git", - "reference": "f96476035142921000338bad71e5247fbc138872" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/f96476035142921000338bad71e5247fbc138872", - "reference": "f96476035142921000338bad71e5247fbc138872", - "shasum": "" - }, - "require": { - "php": ">=8.2", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-intl-grapheme": "~1.0", - "symfony/polyfill-intl-normalizer": "~1.0", - "symfony/polyfill-mbstring": "~1.0" - }, - "conflict": { - "symfony/translation-contracts": "<2.5" - }, - "require-dev": { - "symfony/emoji": "^7.1", - "symfony/http-client": "^6.4|^7.0", - "symfony/intl": "^6.4|^7.0", - "symfony/translation-contracts": "^2.5|^3.0", - "symfony/var-exporter": "^6.4|^7.0" - }, - "type": "library", - "autoload": { - "files": [ - "Resources/functions.php" - ], - "psr-4": { - "Symfony\\Component\\String\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", - "homepage": "https://symfony.com", - "keywords": [ - "grapheme", - "i18n", - "string", - "unicode", - "utf-8", - "utf8" - ], - "support": { - "source": "https://github.com/symfony/string/tree/v7.3.4" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2025-09-11T14:36:48+00:00" - }, - { - "name": "textalk/websocket", - "version": "1.5.8", - "source": { - "type": "git", - "url": "https://github.com/Textalk/websocket-php.git", - "reference": "d05dbaa97500176447ffb1f1800573f23085ab13" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Textalk/websocket-php/zipball/d05dbaa97500176447ffb1f1800573f23085ab13", - "reference": "d05dbaa97500176447ffb1f1800573f23085ab13", - "shasum": "" - }, - "require": { - "php": "^7.2 | ^8.0", - "psr/log": "^1 | ^2 | ^3" - }, - "require-dev": { - "php-coveralls/php-coveralls": "^2.0", - "phpunit/phpunit": "^8.0|^9.0", - "squizlabs/php_codesniffer": "^3.5" - }, - "type": "library", - "autoload": { - "psr-4": { - "WebSocket\\": "lib" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "ISC" - ], - "authors": [ - { - "name": "Fredrik Liljegren" - }, - { - "name": "Sören Jensen", - "email": "soren@abicart.se" - } - ], - "description": "WebSocket client and server", - "support": { - "issues": "https://github.com/Textalk/websocket-php/issues", - "source": "https://github.com/Textalk/websocket-php/tree/1.5.8" - }, - "time": "2022-04-26T06:28:24+00:00" - }, - { - "name": "theseer/tokenizer", - "version": "1.3.1", - "source": { - "type": "git", - "url": "https://github.com/theseer/tokenizer.git", - "reference": "b7489ce515e168639d17feec34b8847c326b0b3c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/b7489ce515e168639d17feec34b8847c326b0b3c", - "reference": "b7489ce515e168639d17feec34b8847c326b0b3c", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-tokenizer": "*", - "ext-xmlwriter": "*", - "php": "^7.2 || ^8.0" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - } - ], - "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", - "support": { - "issues": "https://github.com/theseer/tokenizer/issues", - "source": "https://github.com/theseer/tokenizer/tree/1.3.1" - }, - "funding": [ - { - "url": "https://github.com/theseer", - "type": "github" - } - ], - "time": "2025-11-17T20:03:58+00:00" - }, - { - "name": "twig/twig", - "version": "v3.14.2", - "source": { - "type": "git", - "url": "https://github.com/twigphp/Twig.git", - "reference": "0b6f9d8370bb3b7f1ce5313ed8feb0fafd6e399a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/0b6f9d8370bb3b7f1ce5313ed8feb0fafd6e399a", - "reference": "0b6f9d8370bb3b7f1ce5313ed8feb0fafd6e399a", - "shasum": "" - }, - "require": { - "php": ">=8.0.2", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/polyfill-ctype": "^1.8", - "symfony/polyfill-mbstring": "^1.3", - "symfony/polyfill-php81": "^1.29" - }, - "require-dev": { - "psr/container": "^1.0|^2.0", - "symfony/phpunit-bridge": "^5.4.9|^6.4|^7.0" - }, - "type": "library", - "autoload": { - "files": [ - "src/Resources/core.php", - "src/Resources/debug.php", - "src/Resources/escaper.php", - "src/Resources/string_loader.php" - ], - "psr-4": { - "Twig\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com", - "homepage": "http://fabien.potencier.org", - "role": "Lead Developer" - }, - { - "name": "Twig Team", - "role": "Contributors" - }, - { - "name": "Armin Ronacher", - "email": "armin.ronacher@active-4.com", - "role": "Project Founder" - } - ], - "description": "Twig, the flexible, fast, and secure template language for PHP", - "homepage": "https://twig.symfony.com", - "keywords": [ - "templating" - ], - "support": { - "issues": "https://github.com/twigphp/Twig/issues", - "source": "https://github.com/twigphp/Twig/tree/v3.14.2" - }, - "funding": [ - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/twig/twig", - "type": "tidelift" - } - ], - "time": "2024-11-07T12:36:22+00:00" - }, - { - "name": "webmozart/glob", - "version": "4.7.0", - "source": { - "type": "git", - "url": "https://github.com/webmozarts/glob.git", - "reference": "8a2842112d6916e61e0e15e316465b611f3abc17" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozarts/glob/zipball/8a2842112d6916e61e0e15e316465b611f3abc17", - "reference": "8a2842112d6916e61e0e15e316465b611f3abc17", - "shasum": "" - }, - "require": { - "php": "^7.3 || ^8.0.0" - }, - "require-dev": { - "phpunit/phpunit": "^9.5", - "symfony/filesystem": "^5.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.1-dev" - } - }, - "autoload": { - "psr-4": { - "Webmozart\\Glob\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - } - ], - "description": "A PHP implementation of Ant's glob.", - "support": { - "issues": "https://github.com/webmozarts/glob/issues", - "source": "https://github.com/webmozarts/glob/tree/4.7.0" - }, - "time": "2024-03-07T20:33:40+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": {}, - "prefer-stable": false, - "prefer-lowest": false, - "platform": { - "php": ">=8.3.0", - "ext-curl": "*", - "ext-imagick": "*", - "ext-mbstring": "*", - "ext-json": "*", - "ext-yaml": "*", - "ext-dom": "*", - "ext-redis": "*", - "ext-swoole": "*", - "ext-pdo": "*", - "ext-openssl": "*", - "ext-zlib": "*", - "ext-sockets": "*" - }, - "platform-dev": { - "ext-fileinfo": "*" - }, - "platform-overrides": { - "php": "8.3" - }, - "plugin-api-version": "2.9.0" -} From b69bf3d269370ea97fc21e8812f625af920b2e19 Mon Sep 17 00:00:00 2001 From: shimon Date: Wed, 26 Nov 2025 15:44:19 +0200 Subject: [PATCH 003/220] Revert previous revert of the merge for auth single instance refactor --- composer.lock | 8922 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 8922 insertions(+) create mode 100644 composer.lock diff --git a/composer.lock b/composer.lock new file mode 100644 index 0000000000..2eac78f02e --- /dev/null +++ b/composer.lock @@ -0,0 +1,8922 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "This file is @generated automatically" + ], + "content-hash": "26af4279acf6d841656ec711b52193cc", + "packages": [ + { + "name": "adhocore/jwt", + "version": "1.1.3", + "source": { + "type": "git", + "url": "https://github.com/adhocore/php-jwt.git", + "reference": "ad417603d9d45578b6af2089ad5b78f101c82367" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/adhocore/php-jwt/zipball/ad417603d9d45578b6af2089ad5b78f101c82367", + "reference": "ad417603d9d45578b6af2089ad5b78f101c82367", + "shasum": "" + }, + "require": { + "php": "^7.0 || ^8.0" + }, + "require-dev": { + "phpunit/phpunit": "^7.5 || ^8.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "Ahc\\Jwt\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jitendra Adhikari", + "email": "jiten.adhikary@gmail.com" + } + ], + "description": "Ultra lightweight JSON web token (JWT) library for PHP5.5+.", + "keywords": [ + "auth", + "json-web-token", + "jwt", + "jwt-auth", + "jwt-php", + "token" + ], + "support": { + "issues": "https://github.com/adhocore/php-jwt/issues", + "source": "https://github.com/adhocore/php-jwt/tree/1.1.3" + }, + "funding": [ + { + "url": "https://paypal.me/ji10", + "type": "custom" + }, + { + "url": "https://github.com/adhocore", + "type": "github" + } + ], + "time": "2025-02-18T01:00:50+00:00" + }, + { + "name": "appwrite/appwrite", + "version": "15.1.0", + "source": { + "type": "git", + "url": "https://github.com/appwrite/sdk-for-php.git", + "reference": "c438b3885071ac7c0329199dce5e6f6a24dd215b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/appwrite/sdk-for-php/zipball/c438b3885071ac7c0329199dce5e6f6a24dd215b", + "reference": "c438b3885071ac7c0329199dce5e6f6a24dd215b", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "ext-json": "*", + "php": ">=7.1.0" + }, + "require-dev": { + "mockery/mockery": "^1.6.6", + "phpunit/phpunit": "^10" + }, + "type": "library", + "autoload": { + "psr-4": { + "Appwrite\\": "src/Appwrite" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Appwrite is an open-source self-hosted backend server that abstract and simplify complex and repetitive development tasks behind a very simple REST API", + "support": { + "email": "team@appwrite.io", + "issues": "https://github.com/appwrite/sdk-for-php/issues", + "source": "https://github.com/appwrite/sdk-for-php/tree/15.1.0", + "url": "https://appwrite.io/support" + }, + "time": "2025-08-01T04:50:51+00:00" + }, + { + "name": "appwrite/php-clamav", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/appwrite/php-clamav.git", + "reference": "f3897169f5c1f365312238a516ae9465f804634f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/appwrite/php-clamav/zipball/f3897169f5c1f365312238a516ae9465f804634f", + "reference": "f3897169f5c1f365312238a516ae9465f804634f", + "shasum": "" + }, + "require": { + "ext-sockets": "*", + "php": ">=8.0" + }, + "require-dev": { + "phpunit/phpunit": "^9" + }, + "type": "library", + "autoload": { + "psr-4": { + "Appwrite\\ClamAV\\": "src/ClamAV" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Eldad Fux", + "email": "eldad@appwrite.io" + } + ], + "description": "ClamAV network and pipe client for PHP", + "keywords": [ + "anti virus", + "appwrite", + "clamav", + "php" + ], + "support": { + "issues": "https://github.com/appwrite/php-clamav/issues", + "source": "https://github.com/appwrite/php-clamav/tree/2.0.0" + }, + "time": "2023-02-24T09:50:42+00:00" + }, + { + "name": "appwrite/php-runtimes", + "version": "0.19.2", + "source": { + "type": "git", + "url": "https://github.com/appwrite/runtimes.git", + "reference": "e5c142519df5aced37de9c302971c29c079ce3d9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/appwrite/runtimes/zipball/e5c142519df5aced37de9c302971c29c079ce3d9", + "reference": "e5c142519df5aced37de9c302971c29c079ce3d9", + "shasum": "" + }, + "require": { + "php": ">=8.0", + "utopia-php/system": "0.9.*" + }, + "require-dev": { + "laravel/pint": "^1.15", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Appwrite\\Runtimes\\": "src/Runtimes" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Eldad Fux", + "email": "eldad@appwrite.io" + }, + { + "name": "Torsten Dittmann", + "email": "torsten@appwrite.io" + } + ], + "description": "Appwrite repository for Cloud Function runtimes that contains the configurations and tests for all of the Appwrite runtime environments.", + "keywords": [ + "appwrite", + "php", + "runtimes" + ], + "support": { + "issues": "https://github.com/appwrite/runtimes/issues", + "source": "https://github.com/appwrite/runtimes/tree/0.19.2" + }, + "time": "2025-11-11T13:44:44+00:00" + }, + { + "name": "beberlei/assert", + "version": "v3.3.3", + "source": { + "type": "git", + "url": "https://github.com/beberlei/assert.git", + "reference": "b5fd8eacd8915a1b627b8bfc027803f1939734dd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/beberlei/assert/zipball/b5fd8eacd8915a1b627b8bfc027803f1939734dd", + "reference": "b5fd8eacd8915a1b627b8bfc027803f1939734dd", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "ext-json": "*", + "ext-mbstring": "*", + "ext-simplexml": "*", + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "*", + "phpstan/phpstan": "*", + "phpunit/phpunit": ">=6.0.0", + "yoast/phpunit-polyfills": "^0.1.0" + }, + "suggest": { + "ext-intl": "Needed to allow Assertion::count(), Assertion::isCountable(), Assertion::minCount(), and Assertion::maxCount() to operate on ResourceBundles" + }, + "type": "library", + "autoload": { + "files": [ + "lib/Assert/functions.php" + ], + "psr-4": { + "Assert\\": "lib/Assert" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-2-Clause" + ], + "authors": [ + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de", + "role": "Lead Developer" + }, + { + "name": "Richard Quadling", + "email": "rquadling@gmail.com", + "role": "Collaborator" + } + ], + "description": "Thin assertion library for input validation in business models.", + "keywords": [ + "assert", + "assertion", + "validation" + ], + "support": { + "issues": "https://github.com/beberlei/assert/issues", + "source": "https://github.com/beberlei/assert/tree/v3.3.3" + }, + "time": "2024-07-15T13:18:35+00:00" + }, + { + "name": "brick/math", + "version": "0.14.1", + "source": { + "type": "git", + "url": "https://github.com/brick/math.git", + "reference": "f05858549e5f9d7bb45875a75583240a38a281d0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/brick/math/zipball/f05858549e5f9d7bb45875a75583240a38a281d0", + "reference": "f05858549e5f9d7bb45875a75583240a38a281d0", + "shasum": "" + }, + "require": { + "php": "^8.2" + }, + "require-dev": { + "php-coveralls/php-coveralls": "^2.2", + "phpstan/phpstan": "2.1.22", + "phpunit/phpunit": "^11.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "Brick\\Math\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Arbitrary-precision arithmetic library", + "keywords": [ + "Arbitrary-precision", + "BigInteger", + "BigRational", + "arithmetic", + "bigdecimal", + "bignum", + "bignumber", + "brick", + "decimal", + "integer", + "math", + "mathematics", + "rational" + ], + "support": { + "issues": "https://github.com/brick/math/issues", + "source": "https://github.com/brick/math/tree/0.14.1" + }, + "funding": [ + { + "url": "https://github.com/BenMorel", + "type": "github" + } + ], + "time": "2025-11-24T14:40:29+00:00" + }, + { + "name": "chillerlan/php-qrcode", + "version": "4.4.2", + "source": { + "type": "git", + "url": "https://github.com/chillerlan/php-qrcode.git", + "reference": "345ed8e4ffb56e6b3fcd9f42e3970b9026fa6ce4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/chillerlan/php-qrcode/zipball/345ed8e4ffb56e6b3fcd9f42e3970b9026fa6ce4", + "reference": "345ed8e4ffb56e6b3fcd9f42e3970b9026fa6ce4", + "shasum": "" + }, + "require": { + "chillerlan/php-settings-container": "^2.1.6 || ^3.2.1", + "ext-mbstring": "*", + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "phan/phan": "^5.4.5", + "phpmd/phpmd": "^2.15", + "phpunit/phpunit": "^9.6", + "setasign/fpdf": "^1.8.2", + "squizlabs/php_codesniffer": "^3.11" + }, + "suggest": { + "chillerlan/php-authenticator": "Yet another Google authenticator! Also creates URIs for mobile apps.", + "setasign/fpdf": "Required to use the QR FPDF output.", + "simple-icons/simple-icons": "SVG icons that you can use to embed as logos in the QR Code" + }, + "type": "library", + "autoload": { + "psr-4": { + "chillerlan\\QRCode\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Kazuhiko Arase", + "homepage": "https://github.com/kazuhikoarase" + }, + { + "name": "Smiley", + "email": "smiley@chillerlan.net", + "homepage": "https://github.com/codemasher" + }, + { + "name": "Contributors", + "homepage": "https://github.com/chillerlan/php-qrcode/graphs/contributors" + } + ], + "description": "A QR code generator with a user friendly API. PHP 7.4+", + "homepage": "https://github.com/chillerlan/php-qrcode", + "keywords": [ + "phpqrcode", + "qr", + "qr code", + "qrcode", + "qrcode-generator" + ], + "support": { + "issues": "https://github.com/chillerlan/php-qrcode/issues", + "source": "https://github.com/chillerlan/php-qrcode/tree/4.4.2" + }, + "funding": [ + { + "url": "https://ko-fi.com/codemasher", + "type": "ko_fi" + } + ], + "time": "2024-11-15T15:36:24+00:00" + }, + { + "name": "chillerlan/php-settings-container", + "version": "3.2.1", + "source": { + "type": "git", + "url": "https://github.com/chillerlan/php-settings-container.git", + "reference": "95ed3e9676a1d47cab2e3174d19b43f5dbf52681" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/chillerlan/php-settings-container/zipball/95ed3e9676a1d47cab2e3174d19b43f5dbf52681", + "reference": "95ed3e9676a1d47cab2e3174d19b43f5dbf52681", + "shasum": "" + }, + "require": { + "ext-json": "*", + "php": "^8.1" + }, + "require-dev": { + "phpmd/phpmd": "^2.15", + "phpstan/phpstan": "^1.11", + "phpstan/phpstan-deprecation-rules": "^1.2", + "phpunit/phpunit": "^10.5", + "squizlabs/php_codesniffer": "^3.10" + }, + "type": "library", + "autoload": { + "psr-4": { + "chillerlan\\Settings\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Smiley", + "email": "smiley@chillerlan.net", + "homepage": "https://github.com/codemasher" + } + ], + "description": "A container class for immutable settings objects. Not a DI container.", + "homepage": "https://github.com/chillerlan/php-settings-container", + "keywords": [ + "Settings", + "configuration", + "container", + "helper" + ], + "support": { + "issues": "https://github.com/chillerlan/php-settings-container/issues", + "source": "https://github.com/chillerlan/php-settings-container" + }, + "funding": [ + { + "url": "https://www.paypal.com/donate?hosted_button_id=WLYUNAT9ZTJZ4", + "type": "custom" + }, + { + "url": "https://ko-fi.com/codemasher", + "type": "ko_fi" + } + ], + "time": "2024-07-16T11:13:48+00:00" + }, + { + "name": "composer/semver", + "version": "3.4.4", + "source": { + "type": "git", + "url": "https://github.com/composer/semver.git", + "reference": "198166618906cb2de69b95d7d47e5fa8aa1b2b95" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/semver/zipball/198166618906cb2de69b95d7d47e5fa8aa1b2b95", + "reference": "198166618906cb2de69b95d7d47e5fa8aa1b2b95", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^1.11", + "symfony/phpunit-bridge": "^3 || ^7" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\Semver\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + }, + { + "name": "Rob Bast", + "email": "rob.bast@gmail.com", + "homepage": "http://robbast.nl" + } + ], + "description": "Semver library that offers utilities, version constraint parsing and validation.", + "keywords": [ + "semantic", + "semver", + "validation", + "versioning" + ], + "support": { + "irc": "ircs://irc.libera.chat:6697/composer", + "issues": "https://github.com/composer/semver/issues", + "source": "https://github.com/composer/semver/tree/3.4.4" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + } + ], + "time": "2025-08-20T19:15:30+00:00" + }, + { + "name": "dragonmantank/cron-expression", + "version": "v3.4.0", + "source": { + "type": "git", + "url": "https://github.com/dragonmantank/cron-expression.git", + "reference": "8c784d071debd117328803d86b2097615b457500" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/8c784d071debd117328803d86b2097615b457500", + "reference": "8c784d071debd117328803d86b2097615b457500", + "shasum": "" + }, + "require": { + "php": "^7.2|^8.0", + "webmozart/assert": "^1.0" + }, + "replace": { + "mtdowling/cron-expression": "^1.0" + }, + "require-dev": { + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^1.0", + "phpunit/phpunit": "^7.0|^8.0|^9.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Cron\\": "src/Cron/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Chris Tankersley", + "email": "chris@ctankersley.com", + "homepage": "https://github.com/dragonmantank" + } + ], + "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due", + "keywords": [ + "cron", + "schedule" + ], + "support": { + "issues": "https://github.com/dragonmantank/cron-expression/issues", + "source": "https://github.com/dragonmantank/cron-expression/tree/v3.4.0" + }, + "funding": [ + { + "url": "https://github.com/dragonmantank", + "type": "github" + } + ], + "time": "2024-10-09T13:47:03+00:00" + }, + { + "name": "enshrined/svg-sanitize", + "version": "0.22.0", + "source": { + "type": "git", + "url": "https://github.com/darylldoyle/svg-sanitizer.git", + "reference": "0afa95ea74be155a7bcd6c6fb60c276c39984500" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/darylldoyle/svg-sanitizer/zipball/0afa95ea74be155a7bcd6c6fb60c276c39984500", + "reference": "0afa95ea74be155a7bcd6c6fb60c276c39984500", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-libxml": "*", + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.5 || ^8.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "enshrined\\svgSanitize\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "Daryll Doyle", + "email": "daryll@enshrined.co.uk" + } + ], + "description": "An SVG sanitizer for PHP", + "support": { + "issues": "https://github.com/darylldoyle/svg-sanitizer/issues", + "source": "https://github.com/darylldoyle/svg-sanitizer/tree/0.22.0" + }, + "time": "2025-08-12T10:13:48+00:00" + }, + { + "name": "giggsey/libphonenumber-for-php-lite", + "version": "8.13.36", + "source": { + "type": "git", + "url": "https://github.com/giggsey/libphonenumber-for-php-lite.git", + "reference": "144bbe70d67664b5245910a475c7190ff140ab4b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/giggsey/libphonenumber-for-php-lite/zipball/144bbe70d67664b5245910a475c7190ff140ab4b", + "reference": "144bbe70d67664b5245910a475c7190ff140ab4b", + "shasum": "" + }, + "require": { + "php": "^8.1", + "symfony/polyfill-mbstring": "^1.17" + }, + "conflict": { + "giggsey/libphonenumber-for-php": "*" + }, + "require-dev": { + "ext-dom": "*", + "friendsofphp/php-cs-fixer": "^3.12", + "infection/infection": "^0.28", + "pear/pear-core-minimal": "^1.10.11", + "pear/pear_exception": "^1.0.2", + "pear/versioncontrol_git": "^0.7", + "phing/phing": "^2.17.4", + "phpstan/extension-installer": "^1.2", + "phpstan/phpstan": "^1.8", + "phpstan/phpstan-phpunit": "^1.2", + "phpunit/phpunit": "^10.5", + "symfony/console": "^6.0", + "symfony/var-exporter": "^6.0" + }, + "suggest": { + "giggsey/libphonenumber-for-php": "Use libphonenumber-for-php for geocoding, carriers, timezones and matching" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "8.x-dev" + } + }, + "autoload": { + "psr-4": { + "libphonenumber\\": "src/" + }, + "exclude-from-classmap": [ + "/src/data/", + "/src/carrier/data/", + "/src/geocoding/data/", + "/src/timezone/data/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Joshua Gigg", + "email": "giggsey@gmail.com", + "homepage": "https://giggsey.com/" + } + ], + "description": "A lite version of giggsey/libphonenumber-for-php, which is a PHP Port of Google's libphonenumber", + "homepage": "https://github.com/giggsey/libphonenumber-for-php-lite", + "keywords": [ + "geocoding", + "geolocation", + "libphonenumber", + "mobile", + "phonenumber", + "validation" + ], + "support": { + "issues": "https://github.com/giggsey/libphonenumber-for-php-lite/issues", + "source": "https://github.com/giggsey/libphonenumber-for-php-lite" + }, + "time": "2024-05-03T06:31:11+00:00" + }, + { + "name": "google/protobuf", + "version": "v4.33.1", + "source": { + "type": "git", + "url": "https://github.com/protocolbuffers/protobuf-php.git", + "reference": "0cd73ccf0cd26c3e72299cce1ea6144091a57e12" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/protocolbuffers/protobuf-php/zipball/0cd73ccf0cd26c3e72299cce1ea6144091a57e12", + "reference": "0cd73ccf0cd26c3e72299cce1ea6144091a57e12", + "shasum": "" + }, + "require": { + "php": ">=8.1.0" + }, + "require-dev": { + "phpunit/phpunit": ">=5.0.0 <8.5.27" + }, + "suggest": { + "ext-bcmath": "Need to support JSON deserialization" + }, + "type": "library", + "autoload": { + "psr-4": { + "Google\\Protobuf\\": "src/Google/Protobuf", + "GPBMetadata\\Google\\Protobuf\\": "src/GPBMetadata/Google/Protobuf" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "proto library for PHP", + "homepage": "https://developers.google.com/protocol-buffers/", + "keywords": [ + "proto" + ], + "support": { + "source": "https://github.com/protocolbuffers/protobuf-php/tree/v4.33.1" + }, + "time": "2025-11-12T21:58:05+00:00" + }, + { + "name": "league/csv", + "version": "9.24.1", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/csv.git", + "reference": "e0221a3f16aa2a823047d59fab5809d552e29bc8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/csv/zipball/e0221a3f16aa2a823047d59fab5809d552e29bc8", + "reference": "e0221a3f16aa2a823047d59fab5809d552e29bc8", + "shasum": "" + }, + "require": { + "ext-filter": "*", + "php": "^8.1.2" + }, + "require-dev": { + "ext-dom": "*", + "ext-xdebug": "*", + "friendsofphp/php-cs-fixer": "^3.75.0", + "phpbench/phpbench": "^1.4.1", + "phpstan/phpstan": "^1.12.27", + "phpstan/phpstan-deprecation-rules": "^1.2.1", + "phpstan/phpstan-phpunit": "^1.4.2", + "phpstan/phpstan-strict-rules": "^1.6.2", + "phpunit/phpunit": "^10.5.16 || ^11.5.22", + "symfony/var-dumper": "^6.4.8 || ^7.3.0" + }, + "suggest": { + "ext-dom": "Required to use the XMLConverter and the HTMLConverter classes", + "ext-iconv": "Needed to ease transcoding CSV using iconv stream filters", + "ext-mbstring": "Needed to ease transcoding CSV using mb stream filters", + "ext-mysqli": "Requiered to use the package with the MySQLi extension", + "ext-pdo": "Required to use the package with the PDO extension", + "ext-pgsql": "Requiered to use the package with the PgSQL extension", + "ext-sqlite3": "Required to use the package with the SQLite3 extension" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "9.x-dev" + } + }, + "autoload": { + "files": [ + "src/functions_include.php" + ], + "psr-4": { + "League\\Csv\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ignace Nyamagana Butera", + "email": "nyamsprod@gmail.com", + "homepage": "https://github.com/nyamsprod/", + "role": "Developer" + } + ], + "description": "CSV data manipulation made easy in PHP", + "homepage": "https://csv.thephpleague.com", + "keywords": [ + "convert", + "csv", + "export", + "filter", + "import", + "read", + "transform", + "write" + ], + "support": { + "docs": "https://csv.thephpleague.com", + "issues": "https://github.com/thephpleague/csv/issues", + "rss": "https://github.com/thephpleague/csv/releases.atom", + "source": "https://github.com/thephpleague/csv" + }, + "funding": [ + { + "url": "https://github.com/sponsors/nyamsprod", + "type": "github" + } + ], + "time": "2025-06-25T14:53:51+00:00" + }, + { + "name": "matomo/device-detector", + "version": "6.4.7", + "source": { + "type": "git", + "url": "https://github.com/matomo-org/device-detector.git", + "reference": "e53eed31bb1530851feebe52bd64c3451da19e77" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/matomo-org/device-detector/zipball/e53eed31bb1530851feebe52bd64c3451da19e77", + "reference": "e53eed31bb1530851feebe52bd64c3451da19e77", + "shasum": "" + }, + "require": { + "mustangostang/spyc": "*", + "php": "^7.2|^8.0" + }, + "replace": { + "piwik/device-detector": "self.version" + }, + "require-dev": { + "matthiasmullie/scrapbook": "^1.4.7", + "mayflower/mo4-coding-standard": "^v9.0.0", + "phpstan/phpstan": "^1.10.44", + "phpunit/phpunit": "^8.5.8", + "psr/cache": "^1.0.1", + "psr/simple-cache": "^1.0.1", + "slevomat/coding-standard": "<8.16.0", + "symfony/yaml": "^5.1.7" + }, + "suggest": { + "doctrine/cache": "Can directly be used for caching purpose", + "ext-yaml": "Necessary for using the Pecl YAML parser" + }, + "type": "library", + "autoload": { + "psr-4": { + "DeviceDetector\\": "" + }, + "exclude-from-classmap": [ + "Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0-or-later" + ], + "authors": [ + { + "name": "The Matomo Team", + "email": "hello@matomo.org", + "homepage": "https://matomo.org/team/" + } + ], + "description": "The Universal Device Detection library, that parses User Agents and detects devices (desktop, tablet, mobile, tv, cars, console, etc.), clients (browsers, media players, mobile apps, feed readers, libraries, etc), operating systems, devices, brands and models.", + "homepage": "https://matomo.org", + "keywords": [ + "devicedetection", + "parser", + "useragent" + ], + "support": { + "forum": "https://forum.matomo.org/", + "issues": "https://github.com/matomo-org/device-detector/issues", + "source": "https://github.com/matomo-org/matomo", + "wiki": "https://dev.matomo.org/" + }, + "time": "2025-08-20T17:20:16+00:00" + }, + { + "name": "mongodb/mongodb", + "version": "2.1.2", + "source": { + "type": "git", + "url": "https://github.com/mongodb/mongo-php-library.git", + "reference": "0a2472ba9cbb932f7e43a8770aedb2fc30612a67" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/mongodb/mongo-php-library/zipball/0a2472ba9cbb932f7e43a8770aedb2fc30612a67", + "reference": "0a2472ba9cbb932f7e43a8770aedb2fc30612a67", + "shasum": "" + }, + "require": { + "composer-runtime-api": "^2.0", + "ext-mongodb": "^2.1", + "php": "^8.1", + "psr/log": "^1.1.4|^2|^3", + "symfony/polyfill-php85": "^1.32" + }, + "replace": { + "mongodb/builder": "*" + }, + "require-dev": { + "doctrine/coding-standard": "^12.0", + "phpunit/phpunit": "^10.5.35", + "rector/rector": "^2.1.4", + "squizlabs/php_codesniffer": "^3.7", + "vimeo/psalm": "6.5.*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.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" + }, + { + "name": "Jérôme Tamarelle", + "email": "jerome.tamarelle@mongodb.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/2.1.2" + }, + "time": "2025-10-06T12:12:40+00:00" + }, + { + "name": "mustangostang/spyc", + "version": "0.6.3", + "source": { + "type": "git", + "url": "https://github.com/mustangostang/spyc.git", + "reference": "4627c838b16550b666d15aeae1e5289dd5b77da0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/mustangostang/spyc/zipball/4627c838b16550b666d15aeae1e5289dd5b77da0", + "reference": "4627c838b16550b666d15aeae1e5289dd5b77da0", + "shasum": "" + }, + "require": { + "php": ">=5.3.1" + }, + "require-dev": { + "phpunit/phpunit": "4.3.*@dev" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.5.x-dev" + } + }, + "autoload": { + "files": [ + "Spyc.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "mustangostang", + "email": "vlad.andersen@gmail.com" + } + ], + "description": "A simple YAML loader/dumper class for PHP", + "homepage": "https://github.com/mustangostang/spyc/", + "keywords": [ + "spyc", + "yaml", + "yml" + ], + "support": { + "issues": "https://github.com/mustangostang/spyc/issues", + "source": "https://github.com/mustangostang/spyc/tree/0.6.3" + }, + "time": "2019-09-10T13:16:29+00:00" + }, + { + "name": "nyholm/psr7", + "version": "1.8.2", + "source": { + "type": "git", + "url": "https://github.com/Nyholm/psr7.git", + "reference": "a71f2b11690f4b24d099d6b16690a90ae14fc6f3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Nyholm/psr7/zipball/a71f2b11690f4b24d099d6b16690a90ae14fc6f3", + "reference": "a71f2b11690f4b24d099d6b16690a90ae14fc6f3", + "shasum": "" + }, + "require": { + "php": ">=7.2", + "psr/http-factory": "^1.0", + "psr/http-message": "^1.1 || ^2.0" + }, + "provide": { + "php-http/message-factory-implementation": "1.0", + "psr/http-factory-implementation": "1.0", + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "http-interop/http-factory-tests": "^0.9", + "php-http/message-factory": "^1.0", + "php-http/psr7-integration-tests": "^1.0", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.4", + "symfony/error-handler": "^4.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.8-dev" + } + }, + "autoload": { + "psr-4": { + "Nyholm\\Psr7\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com" + }, + { + "name": "Martijn van der Ven", + "email": "martijn@vanderven.se" + } + ], + "description": "A fast PHP7 implementation of PSR-7", + "homepage": "https://tnyholm.se", + "keywords": [ + "psr-17", + "psr-7" + ], + "support": { + "issues": "https://github.com/Nyholm/psr7/issues", + "source": "https://github.com/Nyholm/psr7/tree/1.8.2" + }, + "funding": [ + { + "url": "https://github.com/Zegnat", + "type": "github" + }, + { + "url": "https://github.com/nyholm", + "type": "github" + } + ], + "time": "2024-09-09T07:06:30+00:00" + }, + { + "name": "nyholm/psr7-server", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/Nyholm/psr7-server.git", + "reference": "4335801d851f554ca43fa6e7d2602141538854dc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Nyholm/psr7-server/zipball/4335801d851f554ca43fa6e7d2602141538854dc", + "reference": "4335801d851f554ca43fa6e7d2602141538854dc", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0", + "psr/http-factory": "^1.0", + "psr/http-message": "^1.0 || ^2.0" + }, + "require-dev": { + "nyholm/nsa": "^1.1", + "nyholm/psr7": "^1.3", + "phpunit/phpunit": "^7.0 || ^8.5 || ^9.3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Nyholm\\Psr7Server\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com" + }, + { + "name": "Martijn van der Ven", + "email": "martijn@vanderven.se" + } + ], + "description": "Helper classes to handle PSR-7 server requests", + "homepage": "http://tnyholm.se", + "keywords": [ + "psr-17", + "psr-7" + ], + "support": { + "issues": "https://github.com/Nyholm/psr7-server/issues", + "source": "https://github.com/Nyholm/psr7-server/tree/1.1.0" + }, + "funding": [ + { + "url": "https://github.com/Zegnat", + "type": "github" + }, + { + "url": "https://github.com/nyholm", + "type": "github" + } + ], + "time": "2023-11-08T09:30:43+00:00" + }, + { + "name": "open-telemetry/api", + "version": "1.7.1", + "source": { + "type": "git", + "url": "https://github.com/opentelemetry-php/api.git", + "reference": "45bda7efa8fcdd9bdb0daa2f26c8e31f062f49d4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/opentelemetry-php/api/zipball/45bda7efa8fcdd9bdb0daa2f26c8e31f062f49d4", + "reference": "45bda7efa8fcdd9bdb0daa2f26c8e31f062f49d4", + "shasum": "" + }, + "require": { + "open-telemetry/context": "^1.4", + "php": "^8.1", + "psr/log": "^1.1|^2.0|^3.0", + "symfony/polyfill-php82": "^1.26" + }, + "conflict": { + "open-telemetry/sdk": "<=1.0.8" + }, + "type": "library", + "extra": { + "spi": { + "OpenTelemetry\\API\\Instrumentation\\AutoInstrumentation\\HookManagerInterface": [ + "OpenTelemetry\\API\\Instrumentation\\AutoInstrumentation\\ExtensionHookManager" + ] + }, + "branch-alias": { + "dev-main": "1.8.x-dev" + } + }, + "autoload": { + "files": [ + "Trace/functions.php" + ], + "psr-4": { + "OpenTelemetry\\API\\": "." + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "opentelemetry-php contributors", + "homepage": "https://github.com/open-telemetry/opentelemetry-php/graphs/contributors" + } + ], + "description": "API for OpenTelemetry PHP.", + "keywords": [ + "Metrics", + "api", + "apm", + "logging", + "opentelemetry", + "otel", + "tracing" + ], + "support": { + "chat": "https://app.slack.com/client/T08PSQ7BQ/C01NFPCV44V", + "docs": "https://opentelemetry.io/docs/languages/php", + "issues": "https://github.com/open-telemetry/opentelemetry-php/issues", + "source": "https://github.com/open-telemetry/opentelemetry-php" + }, + "time": "2025-10-19T10:49:48+00:00" + }, + { + "name": "open-telemetry/context", + "version": "1.4.0", + "source": { + "type": "git", + "url": "https://github.com/opentelemetry-php/context.git", + "reference": "d4c4470b541ce72000d18c339cfee633e4c8e0cf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/opentelemetry-php/context/zipball/d4c4470b541ce72000d18c339cfee633e4c8e0cf", + "reference": "d4c4470b541ce72000d18c339cfee633e4c8e0cf", + "shasum": "" + }, + "require": { + "php": "^8.1", + "symfony/polyfill-php82": "^1.26" + }, + "suggest": { + "ext-ffi": "To allow context switching in Fibers" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.0.x-dev" + } + }, + "autoload": { + "files": [ + "fiber/initialize_fiber_handler.php" + ], + "psr-4": { + "OpenTelemetry\\Context\\": "." + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "opentelemetry-php contributors", + "homepage": "https://github.com/open-telemetry/opentelemetry-php/graphs/contributors" + } + ], + "description": "Context implementation for OpenTelemetry PHP.", + "keywords": [ + "Context", + "opentelemetry", + "otel" + ], + "support": { + "chat": "https://app.slack.com/client/T08PSQ7BQ/C01NFPCV44V", + "docs": "https://opentelemetry.io/docs/php", + "issues": "https://github.com/open-telemetry/opentelemetry-php/issues", + "source": "https://github.com/open-telemetry/opentelemetry-php" + }, + "time": "2025-09-19T00:05:49+00:00" + }, + { + "name": "open-telemetry/exporter-otlp", + "version": "1.3.3", + "source": { + "type": "git", + "url": "https://github.com/opentelemetry-php/exporter-otlp.git", + "reference": "07b02bc71838463f6edcc78d3485c04b48fb263d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/opentelemetry-php/exporter-otlp/zipball/07b02bc71838463f6edcc78d3485c04b48fb263d", + "reference": "07b02bc71838463f6edcc78d3485c04b48fb263d", + "shasum": "" + }, + "require": { + "open-telemetry/api": "^1.0", + "open-telemetry/gen-otlp-protobuf": "^1.1", + "open-telemetry/sdk": "^1.0", + "php": "^8.1", + "php-http/discovery": "^1.14" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.0.x-dev" + } + }, + "autoload": { + "files": [ + "_register.php" + ], + "psr-4": { + "OpenTelemetry\\Contrib\\Otlp\\": "." + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "opentelemetry-php contributors", + "homepage": "https://github.com/open-telemetry/opentelemetry-php/graphs/contributors" + } + ], + "description": "OTLP exporter for OpenTelemetry.", + "keywords": [ + "Metrics", + "exporter", + "gRPC", + "http", + "opentelemetry", + "otel", + "otlp", + "tracing" + ], + "support": { + "chat": "https://app.slack.com/client/T08PSQ7BQ/C01NFPCV44V", + "docs": "https://opentelemetry.io/docs/languages/php", + "issues": "https://github.com/open-telemetry/opentelemetry-php/issues", + "source": "https://github.com/open-telemetry/opentelemetry-php" + }, + "time": "2025-11-13T08:04:37+00:00" + }, + { + "name": "open-telemetry/gen-otlp-protobuf", + "version": "1.8.0", + "source": { + "type": "git", + "url": "https://github.com/opentelemetry-php/gen-otlp-protobuf.git", + "reference": "673af5b06545b513466081884b47ef15a536edde" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/opentelemetry-php/gen-otlp-protobuf/zipball/673af5b06545b513466081884b47ef15a536edde", + "reference": "673af5b06545b513466081884b47ef15a536edde", + "shasum": "" + }, + "require": { + "google/protobuf": "^3.22 || ^4.0", + "php": "^8.0" + }, + "suggest": { + "ext-protobuf": "For better performance, when dealing with the protobuf format" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Opentelemetry\\Proto\\": "Opentelemetry/Proto/", + "GPBMetadata\\Opentelemetry\\": "GPBMetadata/Opentelemetry/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "opentelemetry-php contributors", + "homepage": "https://github.com/open-telemetry/opentelemetry-php/graphs/contributors" + } + ], + "description": "PHP protobuf files for communication with OpenTelemetry OTLP collectors/servers.", + "keywords": [ + "Metrics", + "apm", + "gRPC", + "logging", + "opentelemetry", + "otel", + "otlp", + "protobuf", + "tracing" + ], + "support": { + "chat": "https://app.slack.com/client/T08PSQ7BQ/C01NFPCV44V", + "docs": "https://opentelemetry.io/docs/php", + "issues": "https://github.com/open-telemetry/opentelemetry-php/issues", + "source": "https://github.com/open-telemetry/opentelemetry-php" + }, + "time": "2025-09-17T23:10:12+00:00" + }, + { + "name": "open-telemetry/sdk", + "version": "1.10.0", + "source": { + "type": "git", + "url": "https://github.com/opentelemetry-php/sdk.git", + "reference": "3dfc3d1ad729ec7eb25f1b9a4ae39fe779affa99" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/opentelemetry-php/sdk/zipball/3dfc3d1ad729ec7eb25f1b9a4ae39fe779affa99", + "reference": "3dfc3d1ad729ec7eb25f1b9a4ae39fe779affa99", + "shasum": "" + }, + "require": { + "ext-json": "*", + "nyholm/psr7-server": "^1.1", + "open-telemetry/api": "^1.7", + "open-telemetry/context": "^1.4", + "open-telemetry/sem-conv": "^1.0", + "php": "^8.1", + "php-http/discovery": "^1.14", + "psr/http-client": "^1.0", + "psr/http-client-implementation": "^1.0", + "psr/http-factory-implementation": "^1.0", + "psr/http-message": "^1.0.1|^2.0", + "psr/log": "^1.1|^2.0|^3.0", + "ramsey/uuid": "^3.0 || ^4.0", + "symfony/polyfill-mbstring": "^1.23", + "symfony/polyfill-php82": "^1.26", + "tbachert/spi": "^1.0.5" + }, + "suggest": { + "ext-gmp": "To support unlimited number of synchronous metric readers", + "ext-mbstring": "To increase performance of string operations", + "open-telemetry/sdk-configuration": "File-based OpenTelemetry SDK configuration" + }, + "type": "library", + "extra": { + "spi": { + "OpenTelemetry\\API\\Configuration\\ConfigEnv\\EnvComponentLoader": [ + "OpenTelemetry\\API\\Instrumentation\\Configuration\\General\\ConfigEnv\\EnvComponentLoaderHttpConfig", + "OpenTelemetry\\API\\Instrumentation\\Configuration\\General\\ConfigEnv\\EnvComponentLoaderPeerConfig" + ], + "OpenTelemetry\\SDK\\Common\\Configuration\\Resolver\\ResolverInterface": [ + "OpenTelemetry\\SDK\\Common\\Configuration\\Resolver\\SdkConfigurationResolver" + ], + "OpenTelemetry\\API\\Instrumentation\\AutoInstrumentation\\HookManagerInterface": [ + "OpenTelemetry\\API\\Instrumentation\\AutoInstrumentation\\ExtensionHookManager" + ] + }, + "branch-alias": { + "dev-main": "1.9.x-dev" + } + }, + "autoload": { + "files": [ + "Common/Util/functions.php", + "Logs/Exporter/_register.php", + "Metrics/MetricExporter/_register.php", + "Propagation/_register.php", + "Trace/SpanExporter/_register.php", + "Common/Dev/Compatibility/_load.php", + "_autoload.php" + ], + "psr-4": { + "OpenTelemetry\\SDK\\": "." + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "opentelemetry-php contributors", + "homepage": "https://github.com/open-telemetry/opentelemetry-php/graphs/contributors" + } + ], + "description": "SDK for OpenTelemetry PHP.", + "keywords": [ + "Metrics", + "apm", + "logging", + "opentelemetry", + "otel", + "sdk", + "tracing" + ], + "support": { + "chat": "https://app.slack.com/client/T08PSQ7BQ/C01NFPCV44V", + "docs": "https://opentelemetry.io/docs/languages/php", + "issues": "https://github.com/open-telemetry/opentelemetry-php/issues", + "source": "https://github.com/open-telemetry/opentelemetry-php" + }, + "time": "2025-11-25T10:59:15+00:00" + }, + { + "name": "open-telemetry/sem-conv", + "version": "1.37.0", + "source": { + "type": "git", + "url": "https://github.com/opentelemetry-php/sem-conv.git", + "reference": "8da7ec497c881e39afa6657d72586e27efbd29a1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/opentelemetry-php/sem-conv/zipball/8da7ec497c881e39afa6657d72586e27efbd29a1", + "reference": "8da7ec497c881e39afa6657d72586e27efbd29a1", + "shasum": "" + }, + "require": { + "php": "^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "OpenTelemetry\\SemConv\\": "." + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "opentelemetry-php contributors", + "homepage": "https://github.com/open-telemetry/opentelemetry-php/graphs/contributors" + } + ], + "description": "Semantic conventions for OpenTelemetry PHP.", + "keywords": [ + "Metrics", + "apm", + "logging", + "opentelemetry", + "otel", + "semantic conventions", + "semconv", + "tracing" + ], + "support": { + "chat": "https://app.slack.com/client/T08PSQ7BQ/C01NFPCV44V", + "docs": "https://opentelemetry.io/docs/php", + "issues": "https://github.com/open-telemetry/opentelemetry-php/issues", + "source": "https://github.com/open-telemetry/opentelemetry-php" + }, + "time": "2025-09-03T12:08:10+00:00" + }, + { + "name": "paragonie/constant_time_encoding", + "version": "v2.8.2", + "source": { + "type": "git", + "url": "https://github.com/paragonie/constant_time_encoding.git", + "reference": "e30811f7bc69e4b5b6d5783e712c06c8eabf0226" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/e30811f7bc69e4b5b6d5783e712c06c8eabf0226", + "reference": "e30811f7bc69e4b5b6d5783e712c06c8eabf0226", + "shasum": "" + }, + "require": { + "php": "^7|^8" + }, + "require-dev": { + "phpunit/phpunit": "^6|^7|^8|^9", + "vimeo/psalm": "^1|^2|^3|^4" + }, + "type": "library", + "autoload": { + "psr-4": { + "ParagonIE\\ConstantTime\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paragon Initiative Enterprises", + "email": "security@paragonie.com", + "homepage": "https://paragonie.com", + "role": "Maintainer" + }, + { + "name": "Steve 'Sc00bz' Thomas", + "email": "steve@tobtu.com", + "homepage": "https://www.tobtu.com", + "role": "Original Developer" + } + ], + "description": "Constant-time Implementations of RFC 4648 Encoding (Base-64, Base-32, Base-16)", + "keywords": [ + "base16", + "base32", + "base32_decode", + "base32_encode", + "base64", + "base64_decode", + "base64_encode", + "bin2hex", + "encoding", + "hex", + "hex2bin", + "rfc4648" + ], + "support": { + "email": "info@paragonie.com", + "issues": "https://github.com/paragonie/constant_time_encoding/issues", + "source": "https://github.com/paragonie/constant_time_encoding" + }, + "time": "2025-09-24T15:12:37+00:00" + }, + { + "name": "paragonie/random_compat", + "version": "v9.99.100", + "source": { + "type": "git", + "url": "https://github.com/paragonie/random_compat.git", + "reference": "996434e5492cb4c3edcb9168db6fbb1359ef965a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/paragonie/random_compat/zipball/996434e5492cb4c3edcb9168db6fbb1359ef965a", + "reference": "996434e5492cb4c3edcb9168db6fbb1359ef965a", + "shasum": "" + }, + "require": { + "php": ">= 7" + }, + "require-dev": { + "phpunit/phpunit": "4.*|5.*", + "vimeo/psalm": "^1" + }, + "suggest": { + "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." + }, + "type": "library", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paragon Initiative Enterprises", + "email": "security@paragonie.com", + "homepage": "https://paragonie.com" + } + ], + "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", + "keywords": [ + "csprng", + "polyfill", + "pseudorandom", + "random" + ], + "support": { + "email": "info@paragonie.com", + "issues": "https://github.com/paragonie/random_compat/issues", + "source": "https://github.com/paragonie/random_compat" + }, + "time": "2020-10-15T08:29:30+00:00" + }, + { + "name": "php-amqplib/php-amqplib", + "version": "v3.7.4", + "source": { + "type": "git", + "url": "https://github.com/php-amqplib/php-amqplib.git", + "reference": "381b6f7c600e0e0c7463cdd7f7a1a3bc6268e5fd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-amqplib/php-amqplib/zipball/381b6f7c600e0e0c7463cdd7f7a1a3bc6268e5fd", + "reference": "381b6f7c600e0e0c7463cdd7f7a1a3bc6268e5fd", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "ext-sockets": "*", + "php": "^7.2||^8.0", + "phpseclib/phpseclib": "^2.0|^3.0" + }, + "conflict": { + "php": "7.4.0 - 7.4.1" + }, + "replace": { + "videlalvaro/php-amqplib": "self.version" + }, + "require-dev": { + "ext-curl": "*", + "nategood/httpful": "^0.2.20", + "phpunit/phpunit": "^7.5|^9.5", + "squizlabs/php_codesniffer": "^3.6" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "PhpAmqpLib\\": "PhpAmqpLib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-2.1-or-later" + ], + "authors": [ + { + "name": "Alvaro Videla", + "role": "Original Maintainer" + }, + { + "name": "Raúl Araya", + "email": "nubeiro@gmail.com", + "role": "Maintainer" + }, + { + "name": "Luke Bakken", + "email": "luke@bakken.io", + "role": "Maintainer" + }, + { + "name": "Ramūnas Dronga", + "email": "github@ramuno.lt", + "role": "Maintainer" + } + ], + "description": "Formerly videlalvaro/php-amqplib. This library is a pure PHP implementation of the AMQP protocol. It's been tested against RabbitMQ.", + "homepage": "https://github.com/php-amqplib/php-amqplib/", + "keywords": [ + "message", + "queue", + "rabbitmq" + ], + "support": { + "issues": "https://github.com/php-amqplib/php-amqplib/issues", + "source": "https://github.com/php-amqplib/php-amqplib/tree/v3.7.4" + }, + "time": "2025-11-23T17:00:56+00:00" + }, + { + "name": "php-http/discovery", + "version": "1.20.0", + "source": { + "type": "git", + "url": "https://github.com/php-http/discovery.git", + "reference": "82fe4c73ef3363caed49ff8dd1539ba06044910d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-http/discovery/zipball/82fe4c73ef3363caed49ff8dd1539ba06044910d", + "reference": "82fe4c73ef3363caed49ff8dd1539ba06044910d", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.0|^2.0", + "php": "^7.1 || ^8.0" + }, + "conflict": { + "nyholm/psr7": "<1.0", + "zendframework/zend-diactoros": "*" + }, + "provide": { + "php-http/async-client-implementation": "*", + "php-http/client-implementation": "*", + "psr/http-client-implementation": "*", + "psr/http-factory-implementation": "*", + "psr/http-message-implementation": "*" + }, + "require-dev": { + "composer/composer": "^1.0.2|^2.0", + "graham-campbell/phpspec-skip-example-extension": "^5.0", + "php-http/httplug": "^1.0 || ^2.0", + "php-http/message-factory": "^1.0", + "phpspec/phpspec": "^5.1 || ^6.1 || ^7.3", + "sebastian/comparator": "^3.0.5 || ^4.0.8", + "symfony/phpunit-bridge": "^6.4.4 || ^7.0.1" + }, + "type": "composer-plugin", + "extra": { + "class": "Http\\Discovery\\Composer\\Plugin", + "plugin-optional": true + }, + "autoload": { + "psr-4": { + "Http\\Discovery\\": "src/" + }, + "exclude-from-classmap": [ + "src/Composer/Plugin.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com" + } + ], + "description": "Finds and installs PSR-7, PSR-17, PSR-18 and HTTPlug implementations", + "homepage": "http://php-http.org", + "keywords": [ + "adapter", + "client", + "discovery", + "factory", + "http", + "message", + "psr17", + "psr7" + ], + "support": { + "issues": "https://github.com/php-http/discovery/issues", + "source": "https://github.com/php-http/discovery/tree/1.20.0" + }, + "time": "2024-10-02T11:20:13+00:00" + }, + { + "name": "phpmailer/phpmailer", + "version": "v6.9.1", + "source": { + "type": "git", + "url": "https://github.com/PHPMailer/PHPMailer.git", + "reference": "039de174cd9c17a8389754d3b877a2ed22743e18" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/039de174cd9c17a8389754d3b877a2ed22743e18", + "reference": "039de174cd9c17a8389754d3b877a2ed22743e18", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "ext-filter": "*", + "ext-hash": "*", + "php": ">=5.5.0" + }, + "require-dev": { + "dealerdirect/phpcodesniffer-composer-installer": "^1.0", + "doctrine/annotations": "^1.2.6 || ^1.13.3", + "php-parallel-lint/php-console-highlighter": "^1.0.0", + "php-parallel-lint/php-parallel-lint": "^1.3.2", + "phpcompatibility/php-compatibility": "^9.3.5", + "roave/security-advisories": "dev-latest", + "squizlabs/php_codesniffer": "^3.7.2", + "yoast/phpunit-polyfills": "^1.0.4" + }, + "suggest": { + "decomplexity/SendOauth2": "Adapter for using XOAUTH2 authentication", + "ext-mbstring": "Needed to send email in multibyte encoding charset or decode encoded addresses", + "ext-openssl": "Needed for secure SMTP sending and DKIM signing", + "greew/oauth2-azure-provider": "Needed for Microsoft Azure XOAUTH2 authentication", + "hayageek/oauth2-yahoo": "Needed for Yahoo XOAUTH2 authentication", + "league/oauth2-google": "Needed for Google XOAUTH2 authentication", + "psr/log": "For optional PSR-3 debug logging", + "symfony/polyfill-mbstring": "To support UTF-8 if the Mbstring PHP extension is not enabled (^1.2)", + "thenetworg/oauth2-azure": "Needed for Microsoft XOAUTH2 authentication" + }, + "type": "library", + "autoload": { + "psr-4": { + "PHPMailer\\PHPMailer\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-2.1-only" + ], + "authors": [ + { + "name": "Marcus Bointon", + "email": "phpmailer@synchromedia.co.uk" + }, + { + "name": "Jim Jagielski", + "email": "jimjag@gmail.com" + }, + { + "name": "Andy Prevost", + "email": "codeworxtech@users.sourceforge.net" + }, + { + "name": "Brent R. Matzelle" + } + ], + "description": "PHPMailer is a full-featured email creation and transfer class for PHP", + "support": { + "issues": "https://github.com/PHPMailer/PHPMailer/issues", + "source": "https://github.com/PHPMailer/PHPMailer/tree/v6.9.1" + }, + "funding": [ + { + "url": "https://github.com/Synchro", + "type": "github" + } + ], + "time": "2023-11-25T22:23:28+00:00" + }, + { + "name": "phpseclib/phpseclib", + "version": "3.0.47", + "source": { + "type": "git", + "url": "https://github.com/phpseclib/phpseclib.git", + "reference": "9d6ca36a6c2dd434765b1071b2644a1c683b385d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/9d6ca36a6c2dd434765b1071b2644a1c683b385d", + "reference": "9d6ca36a6c2dd434765b1071b2644a1c683b385d", + "shasum": "" + }, + "require": { + "paragonie/constant_time_encoding": "^1|^2|^3", + "paragonie/random_compat": "^1.4|^2.0|^9.99.99", + "php": ">=5.6.1" + }, + "require-dev": { + "phpunit/phpunit": "*" + }, + "suggest": { + "ext-dom": "Install the DOM extension to load XML formatted public keys.", + "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.", + "ext-libsodium": "SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.", + "ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.", + "ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations." + }, + "type": "library", + "autoload": { + "files": [ + "phpseclib/bootstrap.php" + ], + "psr-4": { + "phpseclib3\\": "phpseclib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jim Wigginton", + "email": "terrafrost@php.net", + "role": "Lead Developer" + }, + { + "name": "Patrick Monnerat", + "email": "pm@datasphere.ch", + "role": "Developer" + }, + { + "name": "Andreas Fischer", + "email": "bantu@phpbb.com", + "role": "Developer" + }, + { + "name": "Hans-Jürgen Petrich", + "email": "petrich@tronic-media.com", + "role": "Developer" + }, + { + "name": "Graham Campbell", + "email": "graham@alt-three.com", + "role": "Developer" + } + ], + "description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.", + "homepage": "http://phpseclib.sourceforge.net", + "keywords": [ + "BigInteger", + "aes", + "asn.1", + "asn1", + "blowfish", + "crypto", + "cryptography", + "encryption", + "rsa", + "security", + "sftp", + "signature", + "signing", + "ssh", + "twofish", + "x.509", + "x509" + ], + "support": { + "issues": "https://github.com/phpseclib/phpseclib/issues", + "source": "https://github.com/phpseclib/phpseclib/tree/3.0.47" + }, + "funding": [ + { + "url": "https://github.com/terrafrost", + "type": "github" + }, + { + "url": "https://www.patreon.com/phpseclib", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpseclib/phpseclib", + "type": "tidelift" + } + ], + "time": "2025-10-06T01:07:24+00:00" + }, + { + "name": "psr/container", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "shasum": "" + }, + "require": { + "php": ">=7.4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "support": { + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/2.0.2" + }, + "time": "2021-11-05T16:47:00+00:00" + }, + { + "name": "psr/http-client", + "version": "1.0.3", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-client.git", + "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-client/zipball/bb5906edc1c324c9a05aa0873d40117941e5fa90", + "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90", + "shasum": "" + }, + "require": { + "php": "^7.0 || ^8.0", + "psr/http-message": "^1.0 || ^2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Client\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP clients", + "homepage": "https://github.com/php-fig/http-client", + "keywords": [ + "http", + "http-client", + "psr", + "psr-18" + ], + "support": { + "source": "https://github.com/php-fig/http-client" + }, + "time": "2023-09-23T14:17:50+00:00" + }, + { + "name": "psr/http-factory", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-factory.git", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "psr/http-message": "^1.0 || ^2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories", + "keywords": [ + "factory", + "http", + "message", + "psr", + "psr-17", + "psr-7", + "request", + "response" + ], + "support": { + "source": "https://github.com/php-fig/http-factory" + }, + "time": "2024-04-15T12:06:14+00:00" + }, + { + "name": "psr/http-message", + "version": "2.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71", + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ], + "support": { + "source": "https://github.com/php-fig/http-message/tree/2.0" + }, + "time": "2023-04-04T09:54:51+00:00" + }, + { + "name": "psr/log", + "version": "3.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "support": { + "source": "https://github.com/php-fig/log/tree/3.0.2" + }, + "time": "2024-09-11T13:17:53+00:00" + }, + { + "name": "ramsey/collection", + "version": "2.1.1", + "source": { + "type": "git", + "url": "https://github.com/ramsey/collection.git", + "reference": "344572933ad0181accbf4ba763e85a0306a8c5e2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ramsey/collection/zipball/344572933ad0181accbf4ba763e85a0306a8c5e2", + "reference": "344572933ad0181accbf4ba763e85a0306a8c5e2", + "shasum": "" + }, + "require": { + "php": "^8.1" + }, + "require-dev": { + "captainhook/plugin-composer": "^5.3", + "ergebnis/composer-normalize": "^2.45", + "fakerphp/faker": "^1.24", + "hamcrest/hamcrest-php": "^2.0", + "jangregor/phpstan-prophecy": "^2.1", + "mockery/mockery": "^1.6", + "php-parallel-lint/php-console-highlighter": "^1.0", + "php-parallel-lint/php-parallel-lint": "^1.4", + "phpspec/prophecy-phpunit": "^2.3", + "phpstan/extension-installer": "^1.4", + "phpstan/phpstan": "^2.1", + "phpstan/phpstan-mockery": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpunit/phpunit": "^10.5", + "ramsey/coding-standard": "^2.3", + "ramsey/conventional-commits": "^1.6", + "roave/security-advisories": "dev-latest" + }, + "type": "library", + "extra": { + "captainhook": { + "force-install": true + }, + "ramsey/conventional-commits": { + "configFile": "conventional-commits.json" + } + }, + "autoload": { + "psr-4": { + "Ramsey\\Collection\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ben Ramsey", + "email": "ben@benramsey.com", + "homepage": "https://benramsey.com" + } + ], + "description": "A PHP library for representing and manipulating collections.", + "keywords": [ + "array", + "collection", + "hash", + "map", + "queue", + "set" + ], + "support": { + "issues": "https://github.com/ramsey/collection/issues", + "source": "https://github.com/ramsey/collection/tree/2.1.1" + }, + "time": "2025-03-22T05:38:12+00:00" + }, + { + "name": "ramsey/uuid", + "version": "4.9.1", + "source": { + "type": "git", + "url": "https://github.com/ramsey/uuid.git", + "reference": "81f941f6f729b1e3ceea61d9d014f8b6c6800440" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/81f941f6f729b1e3ceea61d9d014f8b6c6800440", + "reference": "81f941f6f729b1e3ceea61d9d014f8b6c6800440", + "shasum": "" + }, + "require": { + "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11 || ^0.12 || ^0.13 || ^0.14", + "php": "^8.0", + "ramsey/collection": "^1.2 || ^2.0" + }, + "replace": { + "rhumsaa/uuid": "self.version" + }, + "require-dev": { + "captainhook/captainhook": "^5.25", + "captainhook/plugin-composer": "^5.3", + "dealerdirect/phpcodesniffer-composer-installer": "^1.0", + "ergebnis/composer-normalize": "^2.47", + "mockery/mockery": "^1.6", + "paragonie/random-lib": "^2", + "php-mock/php-mock": "^2.6", + "php-mock/php-mock-mockery": "^1.5", + "php-parallel-lint/php-parallel-lint": "^1.4.0", + "phpbench/phpbench": "^1.2.14", + "phpstan/extension-installer": "^1.4", + "phpstan/phpstan": "^2.1", + "phpstan/phpstan-mockery": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpunit/phpunit": "^9.6", + "slevomat/coding-standard": "^8.18", + "squizlabs/php_codesniffer": "^3.13" + }, + "suggest": { + "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.", + "ext-gmp": "Enables faster math with arbitrary-precision integers using GMP.", + "ext-uuid": "Enables the use of PeclUuidTimeGenerator and PeclUuidRandomGenerator.", + "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter", + "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type." + }, + "type": "library", + "extra": { + "captainhook": { + "force-install": true + } + }, + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "Ramsey\\Uuid\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A PHP library for generating and working with universally unique identifiers (UUIDs).", + "keywords": [ + "guid", + "identifier", + "uuid" + ], + "support": { + "issues": "https://github.com/ramsey/uuid/issues", + "source": "https://github.com/ramsey/uuid/tree/4.9.1" + }, + "time": "2025-09-04T20:59:21+00:00" + }, + { + "name": "spomky-labs/otphp", + "version": "v10.0.3", + "source": { + "type": "git", + "url": "https://github.com/Spomky-Labs/otphp.git", + "reference": "9784d9f7c790eed26e102d6c78f12c754036c366" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Spomky-Labs/otphp/zipball/9784d9f7c790eed26e102d6c78f12c754036c366", + "reference": "9784d9f7c790eed26e102d6c78f12c754036c366", + "shasum": "" + }, + "require": { + "beberlei/assert": "^3.0", + "ext-mbstring": "*", + "paragonie/constant_time_encoding": "^2.0", + "php": "^7.2|^8.0", + "thecodingmachine/safe": "^0.1.14|^1.0|^2.0" + }, + "require-dev": { + "php-coveralls/php-coveralls": "^2.0", + "phpstan/phpstan": "^0.12", + "phpstan/phpstan-beberlei-assert": "^0.12", + "phpstan/phpstan-deprecation-rules": "^0.12", + "phpstan/phpstan-phpunit": "^0.12", + "phpstan/phpstan-strict-rules": "^0.12", + "phpunit/phpunit": "^8.0", + "thecodingmachine/phpstan-safe-rule": "^1.0 || ^2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "v8.3": "8.3.x-dev", + "v9.0": "9.0.x-dev", + "v10.0": "10.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "OTPHP\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Florent Morselli", + "homepage": "https://github.com/Spomky" + }, + { + "name": "All contributors", + "homepage": "https://github.com/Spomky-Labs/otphp/contributors" + } + ], + "description": "A PHP library for generating one time passwords according to RFC 4226 (HOTP Algorithm) and the RFC 6238 (TOTP Algorithm) and compatible with Google Authenticator", + "homepage": "https://github.com/Spomky-Labs/otphp", + "keywords": [ + "FreeOTP", + "RFC 4226", + "RFC 6238", + "google authenticator", + "hotp", + "otp", + "totp" + ], + "support": { + "issues": "https://github.com/Spomky-Labs/otphp/issues", + "source": "https://github.com/Spomky-Labs/otphp/tree/v10.0.3" + }, + "time": "2022-03-17T08:00:35+00:00" + }, + { + "name": "symfony/deprecation-contracts", + "version": "v3.6.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62", + "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" + } + }, + "autoload": { + "files": [ + "function.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "A generic function and convention to trigger deprecation notices", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.6.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": "2024-09-25T14:21:43+00:00" + }, + { + "name": "symfony/http-client", + "version": "v7.3.6", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-client.git", + "reference": "3c0a55a2c8e21e30a37022801c11c7ab5a6cb2de" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-client/zipball/3c0a55a2c8e21e30a37022801c11c7ab5a6cb2de", + "reference": "3c0a55a2c8e21e30a37022801c11c7ab5a6cb2de", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "psr/log": "^1|^2|^3", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/http-client-contracts": "~3.4.4|^3.5.2", + "symfony/polyfill-php83": "^1.29", + "symfony/service-contracts": "^2.5|^3" + }, + "conflict": { + "amphp/amp": "<2.5", + "amphp/socket": "<1.1", + "php-http/discovery": "<1.15", + "symfony/http-foundation": "<6.4" + }, + "provide": { + "php-http/async-client-implementation": "*", + "php-http/client-implementation": "*", + "psr/http-client-implementation": "1.0", + "symfony/http-client-implementation": "3.0" + }, + "require-dev": { + "amphp/http-client": "^4.2.1|^5.0", + "amphp/http-tunnel": "^1.0|^2.0", + "guzzlehttp/promises": "^1.4|^2.0", + "nyholm/psr7": "^1.0", + "php-http/httplug": "^1.0|^2.0", + "psr/http-client": "^1.0", + "symfony/amphp-http-client-meta": "^1.0|^2.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/messenger": "^6.4|^7.0", + "symfony/process": "^6.4|^7.0", + "symfony/rate-limiter": "^6.4|^7.0", + "symfony/stopwatch": "^6.4|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\HttpClient\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides powerful methods to fetch HTTP resources synchronously or asynchronously", + "homepage": "https://symfony.com", + "keywords": [ + "http" + ], + "support": { + "source": "https://github.com/symfony/http-client/tree/v7.3.6" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-11-05T17:41:46+00:00" + }, + { + "name": "symfony/http-client-contracts", + "version": "v3.6.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-client-contracts.git", + "reference": "75d7043853a42837e68111812f4d964b01e5101c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/75d7043853a42837e68111812f4d964b01e5101c", + "reference": "75d7043853a42837e68111812f4d964b01e5101c", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\HttpClient\\": "" + }, + "exclude-from-classmap": [ + "/Test/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to HTTP clients", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/http-client-contracts/tree/v3.6.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": "2025-04-29T11:18:49+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493", + "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493", + "shasum": "" + }, + "require": { + "ext-iconv": "*", + "php": ">=7.2" + }, + "provide": { + "ext-mbstring": "*" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-12-23T08:48:59+00:00" + }, + { + "name": "symfony/polyfill-php82", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php82.git", + "reference": "5d2ed36f7734637dacc025f179698031951b1692" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php82/zipball/5d2ed36f7734637dacc025f179698031951b1692", + "reference": "5d2ed36f7734637dacc025f179698031951b1692", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php82\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.2+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php82/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-09T11:45:10+00:00" + }, + { + "name": "symfony/polyfill-php83", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php83.git", + "reference": "17f6f9a6b1735c0f163024d959f700cfbc5155e5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/17f6f9a6b1735c0f163024d959f700cfbc5155e5", + "reference": "17f6f9a6b1735c0f163024d959f700cfbc5155e5", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php83\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.3+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php83/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-07-08T02:45:35+00:00" + }, + { + "name": "symfony/polyfill-php85", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php85.git", + "reference": "d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php85/zipball/d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91", + "reference": "d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php85\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.5+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php85/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-06-23T16:12:55+00:00" + }, + { + "name": "symfony/service-contracts", + "version": "v3.6.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/service-contracts.git", + "reference": "45112560a3ba2d715666a509a0bc9521d10b6c43" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/45112560a3ba2d715666a509a0bc9521d10b6c43", + "reference": "45112560a3ba2d715666a509a0bc9521d10b6c43", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/container": "^1.1|^2.0", + "symfony/deprecation-contracts": "^2.5|^3" + }, + "conflict": { + "ext-psr": "<1.1|>=2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Service\\": "" + }, + "exclude-from-classmap": [ + "/Test/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to writing services", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/service-contracts/tree/v3.6.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-07-15T11:30:57+00:00" + }, + { + "name": "tbachert/spi", + "version": "v1.0.5", + "source": { + "type": "git", + "url": "https://github.com/Nevay/spi.git", + "reference": "e7078767866d0a9e0f91d3f9d42a832df5e39002" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Nevay/spi/zipball/e7078767866d0a9e0f91d3f9d42a832df5e39002", + "reference": "e7078767866d0a9e0f91d3f9d42a832df5e39002", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^2.0", + "composer/semver": "^1.0 || ^2.0 || ^3.0", + "php": "^8.1" + }, + "require-dev": { + "composer/composer": "^2.0", + "infection/infection": "^0.27.9", + "phpunit/phpunit": "^10.5", + "psalm/phar": "^5.18" + }, + "type": "composer-plugin", + "extra": { + "class": "Nevay\\SPI\\Composer\\Plugin", + "branch-alias": { + "dev-main": "1.0.x-dev" + }, + "plugin-optional": true + }, + "autoload": { + "psr-4": { + "Nevay\\SPI\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "description": "Service provider loading facility", + "keywords": [ + "service provider" + ], + "support": { + "issues": "https://github.com/Nevay/spi/issues", + "source": "https://github.com/Nevay/spi/tree/v1.0.5" + }, + "time": "2025-06-29T15:42:06+00:00" + }, + { + "name": "thecodingmachine/safe", + "version": "v2.5.0", + "source": { + "type": "git", + "url": "https://github.com/thecodingmachine/safe.git", + "reference": "3115ecd6b4391662b4931daac4eba6b07a2ac1f0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thecodingmachine/safe/zipball/3115ecd6b4391662b4931daac4eba6b07a2ac1f0", + "reference": "3115ecd6b4391662b4931daac4eba6b07a2ac1f0", + "shasum": "" + }, + "require": { + "php": "^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^1.5", + "phpunit/phpunit": "^9.5", + "squizlabs/php_codesniffer": "^3.2", + "thecodingmachine/phpstan-strict-rules": "^1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.2.x-dev" + } + }, + "autoload": { + "files": [ + "deprecated/apc.php", + "deprecated/array.php", + "deprecated/datetime.php", + "deprecated/libevent.php", + "deprecated/misc.php", + "deprecated/password.php", + "deprecated/mssql.php", + "deprecated/stats.php", + "deprecated/strings.php", + "lib/special_cases.php", + "deprecated/mysqli.php", + "generated/apache.php", + "generated/apcu.php", + "generated/array.php", + "generated/bzip2.php", + "generated/calendar.php", + "generated/classobj.php", + "generated/com.php", + "generated/cubrid.php", + "generated/curl.php", + "generated/datetime.php", + "generated/dir.php", + "generated/eio.php", + "generated/errorfunc.php", + "generated/exec.php", + "generated/fileinfo.php", + "generated/filesystem.php", + "generated/filter.php", + "generated/fpm.php", + "generated/ftp.php", + "generated/funchand.php", + "generated/gettext.php", + "generated/gmp.php", + "generated/gnupg.php", + "generated/hash.php", + "generated/ibase.php", + "generated/ibmDb2.php", + "generated/iconv.php", + "generated/image.php", + "generated/imap.php", + "generated/info.php", + "generated/inotify.php", + "generated/json.php", + "generated/ldap.php", + "generated/libxml.php", + "generated/lzf.php", + "generated/mailparse.php", + "generated/mbstring.php", + "generated/misc.php", + "generated/mysql.php", + "generated/network.php", + "generated/oci8.php", + "generated/opcache.php", + "generated/openssl.php", + "generated/outcontrol.php", + "generated/pcntl.php", + "generated/pcre.php", + "generated/pgsql.php", + "generated/posix.php", + "generated/ps.php", + "generated/pspell.php", + "generated/readline.php", + "generated/rpminfo.php", + "generated/rrd.php", + "generated/sem.php", + "generated/session.php", + "generated/shmop.php", + "generated/sockets.php", + "generated/sodium.php", + "generated/solr.php", + "generated/spl.php", + "generated/sqlsrv.php", + "generated/ssdeep.php", + "generated/ssh2.php", + "generated/stream.php", + "generated/strings.php", + "generated/swoole.php", + "generated/uodbc.php", + "generated/uopz.php", + "generated/url.php", + "generated/var.php", + "generated/xdiff.php", + "generated/xml.php", + "generated/xmlrpc.php", + "generated/yaml.php", + "generated/yaz.php", + "generated/zip.php", + "generated/zlib.php" + ], + "classmap": [ + "lib/DateTime.php", + "lib/DateTimeImmutable.php", + "lib/Exceptions/", + "deprecated/Exceptions/", + "generated/Exceptions/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "PHP core functions that throw exceptions instead of returning FALSE on error", + "support": { + "issues": "https://github.com/thecodingmachine/safe/issues", + "source": "https://github.com/thecodingmachine/safe/tree/v2.5.0" + }, + "time": "2023-04-05T11:54:14+00:00" + }, + { + "name": "utopia-php/abuse", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/utopia-php/abuse.git", + "reference": "611fa66a97e87c0dbbc133a717d970da7a5ca828" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/utopia-php/abuse/zipball/611fa66a97e87c0dbbc133a717d970da7a5ca828", + "reference": "611fa66a97e87c0dbbc133a717d970da7a5ca828", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "ext-pdo": "*", + "ext-redis": "*", + "php": ">=8.0", + "utopia-php/database": "*" + }, + "require-dev": { + "laravel/pint": "1.*", + "phpbench/phpbench": "1.*", + "phpstan/phpstan": "1.*", + "phpunit/phpunit": "9.*" + }, + "type": "library", + "autoload": { + "psr-4": { + "Utopia\\Abuse\\": "src/Abuse" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A simple abuse library to manage application usage limits", + "keywords": [ + "Abuse", + "framework", + "php", + "upf", + "utopia" + ], + "support": { + "issues": "https://github.com/utopia-php/abuse/issues", + "source": "https://github.com/utopia-php/abuse/tree/1.0.2" + }, + "time": "2025-10-20T07:18:33+00:00" + }, + { + "name": "utopia-php/analytics", + "version": "0.10.2", + "source": { + "type": "git", + "url": "https://github.com/utopia-php/analytics.git", + "reference": "14c805114736f44c26d6d24b176a2f8b93d86a1f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/utopia-php/analytics/zipball/14c805114736f44c26d6d24b176a2f8b93d86a1f", + "reference": "14c805114736f44c26d6d24b176a2f8b93d86a1f", + "shasum": "" + }, + "require": { + "php": ">=8.0", + "utopia-php/cli": "^0.15.0" + }, + "require-dev": { + "laravel/pint": "dev-main", + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Utopia\\Analytics\\": "src/Analytics" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A simple library to track events & users.", + "keywords": [ + "analytics", + "framework", + "php", + "upf", + "utopia" + ], + "support": { + "issues": "https://github.com/utopia-php/analytics/issues", + "source": "https://github.com/utopia-php/analytics/tree/0.10.2" + }, + "time": "2023-03-22T12:01:09+00:00" + }, + { + "name": "utopia-php/audit", + "version": "1.0.3", + "source": { + "type": "git", + "url": "https://github.com/utopia-php/audit.git", + "reference": "15656acfddb9d6f03c395b73673fc66c793c10a5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/utopia-php/audit/zipball/15656acfddb9d6f03c395b73673fc66c793c10a5", + "reference": "15656acfddb9d6f03c395b73673fc66c793c10a5", + "shasum": "" + }, + "require": { + "php": ">=8.0", + "utopia-php/database": "4.*" + }, + "require-dev": { + "laravel/pint": "1.*", + "phpstan/phpstan": "1.*", + "phpunit/phpunit": "9.*" + }, + "type": "library", + "autoload": { + "psr-4": { + "Utopia\\Audit\\": "src/Audit" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A simple audit library to manage application users logs", + "keywords": [ + "Audit", + "framework", + "php", + "upf", + "utopia" + ], + "support": { + "issues": "https://github.com/utopia-php/audit/issues", + "source": "https://github.com/utopia-php/audit/tree/1.0.3" + }, + "time": "2025-11-04T11:27:42+00:00" + }, + { + "name": "utopia-php/cache", + "version": "0.13.1", + "source": { + "type": "git", + "url": "https://github.com/utopia-php/cache.git", + "reference": "97220cb3b3822b166ee016d1646e2ae2815dc540" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/utopia-php/cache/zipball/97220cb3b3822b166ee016d1646e2ae2815dc540", + "reference": "97220cb3b3822b166ee016d1646e2ae2815dc540", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-memcached": "*", + "ext-redis": "*", + "php": ">=8.0", + "utopia-php/pools": "0.8.*", + "utopia-php/telemetry": "0.1.*" + }, + "require-dev": { + "laravel/pint": "1.2.*", + "phpstan/phpstan": "^1.12", + "phpunit/phpunit": "^9.3", + "vimeo/psalm": "4.13.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "Utopia\\Cache\\": "src/Cache" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A simple cache library to manage application cache storing, loading and purging", + "keywords": [ + "cache", + "framework", + "php", + "upf", + "utopia" + ], + "support": { + "issues": "https://github.com/utopia-php/cache/issues", + "source": "https://github.com/utopia-php/cache/tree/0.13.1" + }, + "time": "2025-05-09T14:43:52+00:00" + }, + { + "name": "utopia-php/cli", + "version": "0.15.2", + "source": { + "type": "git", + "url": "https://github.com/utopia-php/cli.git", + "reference": "da00ff6b8b29a826a1794002ae43442cdf3a0f5f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/utopia-php/cli/zipball/da00ff6b8b29a826a1794002ae43442cdf3a0f5f", + "reference": "da00ff6b8b29a826a1794002ae43442cdf3a0f5f", + "shasum": "" + }, + "require": { + "php": ">=7.4", + "utopia-php/framework": "0.*.*" + }, + "require-dev": { + "laravel/pint": "1.2.*", + "phpunit/phpunit": "^9.3", + "squizlabs/php_codesniffer": "^3.6", + "vimeo/psalm": "4.0.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "Utopia\\CLI\\": "src/CLI" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A simple CLI library to manage command line applications", + "keywords": [ + "cli", + "command line", + "framework", + "php", + "upf", + "utopia" + ], + "support": { + "issues": "https://github.com/utopia-php/cli/issues", + "source": "https://github.com/utopia-php/cli/tree/0.15.2" + }, + "time": "2025-04-15T10:08:48+00:00" + }, + { + "name": "utopia-php/compression", + "version": "0.1.3", + "source": { + "type": "git", + "url": "https://github.com/utopia-php/compression.git", + "reference": "66f093557ba66d98245e562036182016c7dcfe8a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/utopia-php/compression/zipball/66f093557ba66d98245e562036182016c7dcfe8a", + "reference": "66f093557ba66d98245e562036182016c7dcfe8a", + "shasum": "" + }, + "require": { + "php": ">=8.0" + }, + "require-dev": { + "laravel/pint": "1.2.*", + "phpunit/phpunit": "^9.3", + "vimeo/psalm": "4.0.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "Utopia\\Compression\\": "src/Compression" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A simple Compression library to handle file compression", + "keywords": [ + "compression", + "framework", + "php", + "upf", + "utopia" + ], + "support": { + "issues": "https://github.com/utopia-php/compression/issues", + "source": "https://github.com/utopia-php/compression/tree/0.1.3" + }, + "time": "2025-01-15T15:15:51+00:00" + }, + { + "name": "utopia-php/config", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/utopia-php/config.git", + "reference": "6672bf6c1b54ba608593570cbef31bef75f17dd8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/utopia-php/config/zipball/6672bf6c1b54ba608593570cbef31bef75f17dd8", + "reference": "6672bf6c1b54ba608593570cbef31bef75f17dd8", + "shasum": "" + }, + "require": { + "ext-yaml": "*", + "php": ">=8.0" + }, + "require-dev": { + "laravel/pint": "1.2.*", + "phpstan/phpstan": "^2.0", + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Utopia\\Config\\": "src/Config" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A simple Config library to managing application config variables", + "keywords": [ + "config", + "framework", + "php", + "upf", + "utopia" + ], + "support": { + "issues": "https://github.com/utopia-php/config/issues", + "source": "https://github.com/utopia-php/config/tree/1.0.0" + }, + "time": "2025-11-18T17:02:00+00:00" + }, + { + "name": "utopia-php/console", + "version": "0.0.1", + "source": { + "type": "git", + "url": "https://github.com/utopia-php/console.git", + "reference": "f77104e4a888fa9cb3e08f32955ec09479ab7a92" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/utopia-php/console/zipball/f77104e4a888fa9cb3e08f32955ec09479ab7a92", + "reference": "f77104e4a888fa9cb3e08f32955ec09479ab7a92", + "shasum": "" + }, + "require": { + "php": ">=7.4" + }, + "require-dev": { + "laravel/pint": "1.2.*", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^9.3", + "squizlabs/php_codesniffer": "^3.6", + "swoole/ide-helper": "4.8.8" + }, + "type": "library", + "autoload": { + "psr-4": { + "Utopia\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Console helpers for logging, prompting, and executing commands", + "keywords": [ + "cli", + "console", + "php", + "terminal", + "utopia" + ], + "support": { + "issues": "https://github.com/utopia-php/console/issues", + "source": "https://github.com/utopia-php/console/tree/0.0.1" + }, + "time": "2025-10-20T14:41:36+00:00" + }, + { + "name": "utopia-php/database", + "version": "4.3.0", + "source": { + "type": "git", + "url": "https://github.com/utopia-php/database.git", + "reference": "fe7a1326ad623609e65587fe8c01a630a7075fee" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/utopia-php/database/zipball/fe7a1326ad623609e65587fe8c01a630a7075fee", + "reference": "fe7a1326ad623609e65587fe8c01a630a7075fee", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "ext-mongodb": "*", + "ext-pdo": "*", + "php": ">=8.1", + "utopia-php/cache": "0.13.*", + "utopia-php/framework": "0.33.*", + "utopia-php/mongo": "0.11.*", + "utopia-php/pools": "0.8.*" + }, + "require-dev": { + "fakerphp/faker": "1.23.*", + "laravel/pint": "*", + "pcov/clobber": "2.*", + "phpstan/phpstan": "1.*", + "phpunit/phpunit": "9.*", + "rregeer/phpunit-coverage-check": "0.3.*", + "swoole/ide-helper": "5.1.3", + "utopia-php/cli": "0.14.*" + }, + "type": "library", + "autoload": { + "psr-4": { + "Utopia\\Database\\": "src/Database" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A simple library to manage application persistence using multiple database adapters", + "keywords": [ + "database", + "framework", + "php", + "upf", + "utopia" + ], + "support": { + "issues": "https://github.com/utopia-php/database/issues", + "source": "https://github.com/utopia-php/database/tree/4.3.0" + }, + "time": "2025-11-14T03:43:10+00:00" + }, + { + "name": "utopia-php/detector", + "version": "0.2.3", + "source": { + "type": "git", + "url": "https://github.com/utopia-php/detector.git", + "reference": "c1f49b3e82250c3256ffba48aa9737d6c17a243a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/utopia-php/detector/zipball/c1f49b3e82250c3256ffba48aa9737d6c17a243a", + "reference": "c1f49b3e82250c3256ffba48aa9737d6c17a243a", + "shasum": "" + }, + "require": { + "php": ">=8.0" + }, + "require-dev": { + "laravel/pint": "1.2.*", + "phpstan/phpstan": "1.8.*", + "phpunit/phpunit": "^9.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "Utopia\\Detector\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A simple library for fast and reliable environment identification.", + "keywords": [ + "detector", + "framework", + "php", + "utopia" + ], + "support": { + "issues": "https://github.com/utopia-php/detector/issues", + "source": "https://github.com/utopia-php/detector/tree/0.2.3" + }, + "time": "2025-11-24T15:52:51+00:00" + }, + { + "name": "utopia-php/dns", + "version": "1.1.4", + "source": { + "type": "git", + "url": "https://github.com/utopia-php/dns.git", + "reference": "eea6b9299a1420ae6c574f16eb1e9da8689ac56b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/utopia-php/dns/zipball/eea6b9299a1420ae6c574f16eb1e9da8689ac56b", + "reference": "eea6b9299a1420ae6c574f16eb1e9da8689ac56b", + "shasum": "" + }, + "require": { + "php": ">=8.3", + "utopia-php/console": "0.0.*", + "utopia-php/domains": "0.9.*", + "utopia-php/telemetry": "0.1.*", + "utopia-php/validators": "0.*" + }, + "require-dev": { + "laravel/pint": "1.25.*", + "phpstan/phpstan": "2.0.*", + "phpunit/phpunit": "12.4.*", + "swoole/ide-helper": "5.1.8" + }, + "type": "library", + "autoload": { + "psr-4": { + "Utopia\\DNS\\": "src/DNS" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Eldad Fux", + "email": "eldad@appwrite.io" + } + ], + "description": "Lite & fast micro PHP DNS server abstraction that is **easy to use**.", + "keywords": [ + "dns", + "framework", + "php", + "upf", + "utopia" + ], + "support": { + "issues": "https://github.com/utopia-php/dns/issues", + "source": "https://github.com/utopia-php/dns/tree/1.1.4" + }, + "time": "2025-11-26T13:38:10+00:00" + }, + { + "name": "utopia-php/domains", + "version": "0.9.2", + "source": { + "type": "git", + "url": "https://github.com/utopia-php/domains.git", + "reference": "52b654f8a0e170bfa2e54cb47755b256822477c7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/utopia-php/domains/zipball/52b654f8a0e170bfa2e54cb47755b256822477c7", + "reference": "52b654f8a0e170bfa2e54cb47755b256822477c7", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "utopia-php/cache": "0.13.*", + "utopia-php/validators": "0.*" + }, + "require-dev": { + "laravel/pint": "^1.18", + "phpstan/phpstan": "^1.12", + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Utopia\\Domains\\": "src/Domains" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Eldad Fux", + "email": "eldad@appwrite.io" + }, + { + "name": "Wess Cope", + "email": "wess@appwrite.io" + } + ], + "description": "Utopia Domains library is simple and lite library for parsing web domains. This library is aiming to be as simple and easy to learn and use.", + "keywords": [ + "domains", + "framework", + "icann", + "php", + "public suffix", + "tld", + "tld extract", + "upf", + "utopia" + ], + "support": { + "issues": "https://github.com/utopia-php/domains/issues", + "source": "https://github.com/utopia-php/domains/tree/0.9.2" + }, + "time": "2025-11-26T12:16:36+00:00" + }, + { + "name": "utopia-php/dsn", + "version": "0.2.1", + "source": { + "type": "git", + "url": "https://github.com/utopia-php/dsn.git", + "reference": "42ee37a3d1785100b2f69091c9d4affadb6846eb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/utopia-php/dsn/zipball/42ee37a3d1785100b2f69091c9d4affadb6846eb", + "reference": "42ee37a3d1785100b2f69091c9d4affadb6846eb", + "shasum": "" + }, + "require": { + "php": ">=8.0" + }, + "require-dev": { + "laravel/pint": "1.2.*", + "phpunit/phpunit": "^9.3", + "squizlabs/php_codesniffer": "^3.6", + "vimeo/psalm": "4.0.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "Utopia\\DSN\\": "src/DSN" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A simple library for parsing and managing Data Source Names ( DSNs )", + "keywords": [ + "dsn", + "framework", + "php", + "upf", + "utopia" + ], + "support": { + "issues": "https://github.com/utopia-php/dsn/issues", + "source": "https://github.com/utopia-php/dsn/tree/0.2.1" + }, + "time": "2024-05-07T02:01:25+00:00" + }, + { + "name": "utopia-php/emails", + "version": "0.6.3", + "source": { + "type": "git", + "url": "https://github.com/utopia-php/emails.git", + "reference": "9524d7f7bd1651a06fef8a3d964f774b04fe2918" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/utopia-php/emails/zipball/9524d7f7bd1651a06fef8a3d964f774b04fe2918", + "reference": "9524d7f7bd1651a06fef8a3d964f774b04fe2918", + "shasum": "" + }, + "require": { + "php": ">=8.0", + "utopia-php/cli": "^0.15", + "utopia-php/domains": "^0.9", + "utopia-php/fetch": "^0.4", + "utopia-php/validators": "0.*" + }, + "require-dev": { + "laravel/pint": "1.25.*", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Utopia\\Emails\\": "src/Emails" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Eldad Fux", + "email": "eldad@appwrite.io" + } + ], + "description": "Utopia Emails library is simple and lite library for parsing and validating email addresses. This library is aiming to be as simple and easy to learn and use.", + "keywords": [ + "RFC5322", + "email", + "emails", + "framework", + "parsing", + "php", + "upf", + "utopia", + "validation" + ], + "support": { + "issues": "https://github.com/utopia-php/emails/issues", + "source": "https://github.com/utopia-php/emails/tree/0.6.3" + }, + "time": "2025-11-26T12:27:47+00:00" + }, + { + "name": "utopia-php/fetch", + "version": "0.4.2", + "source": { + "type": "git", + "url": "https://github.com/utopia-php/fetch.git", + "reference": "83986d1be75a2fae4e684107fe70dd78a8e19b77" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/utopia-php/fetch/zipball/83986d1be75a2fae4e684107fe70dd78a8e19b77", + "reference": "83986d1be75a2fae4e684107fe70dd78a8e19b77", + "shasum": "" + }, + "require": { + "php": ">=8.0" + }, + "require-dev": { + "laravel/pint": "^1.5.0", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^9.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "Utopia\\Fetch\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A simple library that provides an interface for making HTTP Requests.", + "support": { + "issues": "https://github.com/utopia-php/fetch/issues", + "source": "https://github.com/utopia-php/fetch/tree/0.4.2" + }, + "time": "2025-04-25T13:48:02+00:00" + }, + { + "name": "utopia-php/framework", + "version": "0.33.33", + "source": { + "type": "git", + "url": "https://github.com/utopia-php/http.git", + "reference": "838e3a28276e73187bc34a314f014096dc92191b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/utopia-php/http/zipball/838e3a28276e73187bc34a314f014096dc92191b", + "reference": "838e3a28276e73187bc34a314f014096dc92191b", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "utopia-php/compression": "0.1.*", + "utopia-php/telemetry": "0.1.*", + "utopia-php/validators": "0.1.*" + }, + "require-dev": { + "laravel/pint": "^1.2", + "phpbench/phpbench": "^1.2", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^9.5.25" + }, + "type": "library", + "autoload": { + "psr-4": { + "Utopia\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A simple, light and advanced PHP framework", + "keywords": [ + "framework", + "php", + "upf" + ], + "support": { + "issues": "https://github.com/utopia-php/http/issues", + "source": "https://github.com/utopia-php/http/tree/0.33.33" + }, + "time": "2025-11-25T10:21:13+00:00" + }, + { + "name": "utopia-php/image", + "version": "0.8.4", + "source": { + "type": "git", + "url": "https://github.com/utopia-php/image.git", + "reference": "ce788ff0121a79286fdbe3ef3eba566de646df65" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/utopia-php/image/zipball/ce788ff0121a79286fdbe3ef3eba566de646df65", + "reference": "ce788ff0121a79286fdbe3ef3eba566de646df65", + "shasum": "" + }, + "require": { + "ext-gd": "*", + "ext-imagick": "*", + "php": ">=8.1" + }, + "require-dev": { + "laravel/pint": "1.2.*", + "phpstan/phpstan": "^1.10.0", + "phpunit/phpunit": "^9.3", + "vimeo/psalm": "4.13.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "Utopia\\Image\\": "src/Image" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A simple Image manipulation library", + "keywords": [ + "framework", + "image", + "php", + "upf", + "utopia" + ], + "support": { + "issues": "https://github.com/utopia-php/image/issues", + "source": "https://github.com/utopia-php/image/tree/0.8.4" + }, + "time": "2025-06-03T08:32:20+00:00" + }, + { + "name": "utopia-php/locale", + "version": "0.8.0", + "source": { + "type": "git", + "url": "https://github.com/utopia-php/locale.git", + "reference": "10ffc869c904c45e32ab0c61f4b33ba774777eb6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/utopia-php/locale/zipball/10ffc869c904c45e32ab0c61f4b33ba774777eb6", + "reference": "10ffc869c904c45e32ab0c61f4b33ba774777eb6", + "shasum": "" + }, + "require": { + "php": ">=7.4" + }, + "require-dev": { + "laravel/pint": "1.2.*", + "phpstan/phpstan": "1.*", + "phpunit/phpunit": "^9.3", + "vimeo/psalm": "4.0.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "Utopia\\Locale\\": "src/Locale" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A simple locale library to manage application translations", + "keywords": [ + "framework", + "locale", + "php", + "upf", + "utopia" + ], + "support": { + "issues": "https://github.com/utopia-php/locale/issues", + "source": "https://github.com/utopia-php/locale/tree/0.8.0" + }, + "time": "2025-08-12T12:58:26+00:00" + }, + { + "name": "utopia-php/logger", + "version": "0.6.2", + "source": { + "type": "git", + "url": "https://github.com/utopia-php/logger.git", + "reference": "25b5bd2ad8bb51292f76332faa7034644fd0941d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/utopia-php/logger/zipball/25b5bd2ad8bb51292f76332faa7034644fd0941d", + "reference": "25b5bd2ad8bb51292f76332faa7034644fd0941d", + "shasum": "" + }, + "require": { + "php": ">=8.0" + }, + "require-dev": { + "laravel/pint": "1.2.*", + "phpstan/phpstan": "1.9.x-dev", + "phpunit/phpunit": "^9.3", + "vimeo/psalm": "4.0.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "Utopia\\Logger\\": "src/Logger" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "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": [ + "appsignal", + "errors", + "framework", + "logger", + "logging", + "logs", + "php", + "raygun", + "sentry", + "upf", + "utopia", + "warnings" + ], + "support": { + "issues": "https://github.com/utopia-php/logger/issues", + "source": "https://github.com/utopia-php/logger/tree/0.6.2" + }, + "time": "2024-10-14T16:02:49+00:00" + }, + { + "name": "utopia-php/messaging", + "version": "0.20.0", + "source": { + "type": "git", + "url": "https://github.com/utopia-php/messaging.git", + "reference": "6c5be4588d97e3732a1907ecb13cd8a098eade96" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/utopia-php/messaging/zipball/6c5be4588d97e3732a1907ecb13cd8a098eade96", + "reference": "6c5be4588d97e3732a1907ecb13cd8a098eade96", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "ext-openssl": "*", + "giggsey/libphonenumber-for-php-lite": "8.13.36", + "php": ">=8.0.0", + "phpmailer/phpmailer": "6.9.1" + }, + "require-dev": { + "laravel/pint": "1.*", + "phpstan/phpstan": "1.*", + "phpunit/phpunit": "11.*" + }, + "type": "library", + "autoload": { + "psr-4": { + "Utopia\\Messaging\\": "src/Utopia/Messaging" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A simple, light and advanced PHP messaging library", + "keywords": [ + "library", + "messaging", + "php", + "upf", + "utopia", + "utopia-php" + ], + "support": { + "issues": "https://github.com/utopia-php/messaging/issues", + "source": "https://github.com/utopia-php/messaging/tree/0.20.0" + }, + "time": "2025-10-22T04:27:37+00:00" + }, + { + "name": "utopia-php/migration", + "version": "1.3.5", + "source": { + "type": "git", + "url": "https://github.com/utopia-php/migration.git", + "reference": "6f366f1d4ac2796e59a97d1ba28cedc355e7122e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/utopia-php/migration/zipball/6f366f1d4ac2796e59a97d1ba28cedc355e7122e", + "reference": "6f366f1d4ac2796e59a97d1ba28cedc355e7122e", + "shasum": "" + }, + "require": { + "appwrite/appwrite": "15.*", + "ext-curl": "*", + "ext-openssl": "*", + "php": ">=8.1", + "utopia-php/console": "0.0.*", + "utopia-php/database": "4.*", + "utopia-php/dsn": "0.2.*", + "utopia-php/storage": "0.18.*" + }, + "require-dev": { + "ext-pdo": "*", + "laravel/pint": "1.*", + "phpstan/phpstan": "1.*", + "phpunit/phpunit": "11.*", + "vlucas/phpdotenv": "5.*" + }, + "type": "library", + "autoload": { + "psr-4": { + "Utopia\\Migration\\": "src/Migration" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A simple library to migrate resources between services.", + "keywords": [ + "framework", + "migration", + "php", + "upf", + "utopia" + ], + "support": { + "issues": "https://github.com/utopia-php/migration/issues", + "source": "https://github.com/utopia-php/migration/tree/1.3.5" + }, + "time": "2025-11-25T11:18:29+00:00" + }, + { + "name": "utopia-php/mongo", + "version": "0.11.0", + "source": { + "type": "git", + "url": "https://github.com/utopia-php/mongo.git", + "reference": "34bc0cda8ea368cde68702a6fffe2c3ac625398e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/utopia-php/mongo/zipball/34bc0cda8ea368cde68702a6fffe2c3ac625398e", + "reference": "34bc0cda8ea368cde68702a6fffe2c3ac625398e", + "shasum": "" + }, + "require": { + "ext-mongodb": "2.1.*", + "mongodb/mongodb": "2.1.*", + "php": ">=8.0", + "ramsey/uuid": "4.9.*" + }, + "require-dev": { + "fakerphp/faker": "1.*", + "laravel/pint": "*", + "phpstan/phpstan": "*", + "phpunit/phpunit": "9.*", + "swoole/ide-helper": "5.1.*" + }, + "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.11.0" + }, + "time": "2025-10-20T11:11:23+00:00" + }, + { + "name": "utopia-php/orchestration", + "version": "0.9.1", + "source": { + "type": "git", + "url": "https://github.com/utopia-php/orchestration.git", + "reference": "55f43513b3f940a3f4f9c2cde7682d0c2581beb0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/utopia-php/orchestration/zipball/55f43513b3f940a3f4f9c2cde7682d0c2581beb0", + "reference": "55f43513b3f940a3f4f9c2cde7682d0c2581beb0", + "shasum": "" + }, + "require": { + "php": ">=8.0", + "utopia-php/cli": "0.15.*" + }, + "require-dev": { + "laravel/pint": "^1.2", + "phpunit/phpunit": "^9.3", + "vimeo/psalm": "4.0.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "Utopia\\Orchestration\\": "src/Orchestration" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Lite & fast micro PHP abstraction library for container orchestration", + "keywords": [ + "docker", + "framework", + "kubernetes", + "orchestration", + "php", + "swarm", + "upf", + "utopia" + ], + "support": { + "issues": "https://github.com/utopia-php/orchestration/issues", + "source": "https://github.com/utopia-php/orchestration/tree/0.9.1" + }, + "time": "2023-03-17T15:05:06+00:00" + }, + { + "name": "utopia-php/platform", + "version": "0.7.12", + "source": { + "type": "git", + "url": "https://github.com/utopia-php/platform.git", + "reference": "04255de21db75e90b170040f4d1b457ba721e7a5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/utopia-php/platform/zipball/04255de21db75e90b170040f4d1b457ba721e7a5", + "reference": "04255de21db75e90b170040f4d1b457ba721e7a5", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-redis": "*", + "php": ">=8.0", + "utopia-php/cli": "0.15.*", + "utopia-php/framework": "0.33.*", + "utopia-php/queue": "0.11.*" + }, + "require-dev": { + "laravel/pint": "1.*", + "phpunit/phpunit": "9.*" + }, + "type": "library", + "autoload": { + "psr-4": { + "Utopia\\Platform\\": "src/Platform" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Light and Fast Platform Library", + "keywords": [ + "framework", + "php", + "platform", + "upf", + "utopia" + ], + "support": { + "issues": "https://github.com/utopia-php/platform/issues", + "source": "https://github.com/utopia-php/platform/tree/0.7.12" + }, + "time": "2025-09-05T15:53:12+00:00" + }, + { + "name": "utopia-php/pools", + "version": "0.8.2", + "source": { + "type": "git", + "url": "https://github.com/utopia-php/pools.git", + "reference": "05c67aba42eb68ac65489cc1e7fc5db83db2dd4d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/utopia-php/pools/zipball/05c67aba42eb68ac65489cc1e7fc5db83db2dd4d", + "reference": "05c67aba42eb68ac65489cc1e7fc5db83db2dd4d", + "shasum": "" + }, + "require": { + "php": ">=8.3", + "utopia-php/telemetry": "0.1.*" + }, + "require-dev": { + "laravel/pint": "1.*", + "phpstan/phpstan": "1.*", + "phpunit/phpunit": "11.*" + }, + "type": "library", + "autoload": { + "psr-4": { + "Utopia\\Pools\\": "src/Pools" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Team Appwrite", + "email": "team@appwrite.io" + } + ], + "description": "A simple library to manage connection pools", + "keywords": [ + "framework", + "php", + "pools", + "utopia" + ], + "support": { + "issues": "https://github.com/utopia-php/pools/issues", + "source": "https://github.com/utopia-php/pools/tree/0.8.2" + }, + "time": "2025-04-17T02:04:54+00:00" + }, + { + "name": "utopia-php/preloader", + "version": "0.2.4", + "source": { + "type": "git", + "url": "https://github.com/utopia-php/preloader.git", + "reference": "65ef48392e72172f584b0baa2e224f9a1cebcce0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/utopia-php/preloader/zipball/65ef48392e72172f584b0baa2e224f9a1cebcce0", + "reference": "65ef48392e72172f584b0baa2e224f9a1cebcce0", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "require-dev": { + "phpunit/phpunit": "^9.3", + "vimeo/psalm": "4.0.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "Utopia\\Preloader\\": "src/Preloader" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Eldad Fux", + "email": "team@appwrite.io" + } + ], + "description": "Utopia Preloader library is simple and lite library for managing PHP preloading configuration", + "keywords": [ + "framework", + "php", + "preload", + "preloader", + "preloading", + "upf", + "utopia" + ], + "support": { + "issues": "https://github.com/utopia-php/preloader/issues", + "source": "https://github.com/utopia-php/preloader/tree/0.2.4" + }, + "time": "2020-10-24T07:04:59+00:00" + }, + { + "name": "utopia-php/queue", + "version": "0.11.1", + "source": { + "type": "git", + "url": "https://github.com/utopia-php/queue.git", + "reference": "498bbbef418b1db71b51e1bb62f5d1d752ddd8d6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/utopia-php/queue/zipball/498bbbef418b1db71b51e1bb62f5d1d752ddd8d6", + "reference": "498bbbef418b1db71b51e1bb62f5d1d752ddd8d6", + "shasum": "" + }, + "require": { + "php": ">=8.3", + "php-amqplib/php-amqplib": "^3.7", + "utopia-php/cli": "0.15.*", + "utopia-php/fetch": "0.4.*", + "utopia-php/framework": "0.33.*", + "utopia-php/pools": "0.8.*", + "utopia-php/telemetry": "0.1.*" + }, + "require-dev": { + "ext-redis": "*", + "laravel/pint": "^0.2.3", + "phpstan/phpstan": "^1.8", + "phpunit/phpunit": "^9.5.5", + "swoole/ide-helper": "4.8.8", + "workerman/workerman": "^4.0" + }, + "suggest": { + "ext-swoole": "Needed to support Swoole.", + "workerman/workerman": "Needed to support Workerman." + }, + "type": "library", + "autoload": { + "psr-4": { + "Utopia\\Queue\\": "src/Queue" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Torsten Dittmann", + "email": "torsten@appwrite.io" + } + ], + "description": "A powerful task queue.", + "keywords": [ + "Tasks", + "framework", + "php", + "queue", + "upf", + "utopia" + ], + "support": { + "issues": "https://github.com/utopia-php/queue/issues", + "source": "https://github.com/utopia-php/queue/tree/0.11.1" + }, + "time": "2025-05-30T11:50:34+00:00" + }, + { + "name": "utopia-php/registry", + "version": "0.5.0", + "source": { + "type": "git", + "url": "https://github.com/utopia-php/registry.git", + "reference": "bedc4ed54527b2803e6dfdccc39449f98522b70d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/utopia-php/registry/zipball/bedc4ed54527b2803e6dfdccc39449f98522b70d", + "reference": "bedc4ed54527b2803e6dfdccc39449f98522b70d", + "shasum": "" + }, + "require": { + "php": ">=7.4" + }, + "require-dev": { + "phpunit/phpunit": "^9.3", + "vimeo/psalm": "4.0.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "Utopia\\Registry\\": "src/Registry" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Eldad Fux", + "email": "eldad@appwrite.io" + } + ], + "description": "A simple dependency management library for PHP", + "keywords": [ + "dependency management", + "di", + "framework", + "php", + "upf", + "utopia" + ], + "support": { + "issues": "https://github.com/utopia-php/registry/issues", + "source": "https://github.com/utopia-php/registry/tree/0.5.0" + }, + "time": "2021-03-10T10:45:22+00:00" + }, + { + "name": "utopia-php/storage", + "version": "0.18.14", + "source": { + "type": "git", + "url": "https://github.com/utopia-php/storage.git", + "reference": "4f14ec952c6f4006dd0613e55bbf7631814fbc00" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/utopia-php/storage/zipball/4f14ec952c6f4006dd0613e55bbf7631814fbc00", + "reference": "4f14ec952c6f4006dd0613e55bbf7631814fbc00", + "shasum": "" + }, + "require": { + "ext-brotli": "*", + "ext-curl": "*", + "ext-fileinfo": "*", + "ext-lz4": "*", + "ext-simplexml": "*", + "ext-snappy": "*", + "ext-xz": "*", + "ext-zlib": "*", + "ext-zstd": "*", + "php": ">=8.1", + "utopia-php/framework": "0.*.*", + "utopia-php/system": "0.*.*", + "utopia-php/telemetry": "0.1.*" + }, + "require-dev": { + "laravel/pint": "1.2.*", + "phpunit/phpunit": "^9.3", + "vimeo/psalm": "4.0.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "Utopia\\Storage\\": "src/Storage" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A simple Storage library to manage application storage", + "keywords": [ + "framework", + "php", + "storage", + "upf", + "utopia" + ], + "support": { + "issues": "https://github.com/utopia-php/storage/issues", + "source": "https://github.com/utopia-php/storage/tree/0.18.14" + }, + "time": "2025-10-07T10:21:47+00:00" + }, + { + "name": "utopia-php/swoole", + "version": "0.8.4", + "source": { + "type": "git", + "url": "https://github.com/utopia-php/swoole.git", + "reference": "150c30700e738c52348cce9ed0e0f0ff96872081" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/utopia-php/swoole/zipball/150c30700e738c52348cce9ed0e0f0ff96872081", + "reference": "150c30700e738c52348cce9ed0e0f0ff96872081", + "shasum": "" + }, + "require": { + "ext-swoole": "*", + "php": ">=8.0", + "utopia-php/framework": "0.33.*" + }, + "require-dev": { + "laravel/pint": "1.2.*", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^9.3", + "swoole/ide-helper": "5.0.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Utopia\\Swoole\\": "src/Swoole" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "An extension for Utopia Framework to work with PHP Swoole as a PHP FPM alternative", + "keywords": [ + "framework", + "http", + "php", + "server", + "swoole", + "upf", + "utopia" + ], + "support": { + "issues": "https://github.com/utopia-php/swoole/issues", + "source": "https://github.com/utopia-php/swoole/tree/0.8.4" + }, + "time": "2025-09-07T09:39:46+00:00" + }, + { + "name": "utopia-php/system", + "version": "0.9.0", + "source": { + "type": "git", + "url": "https://github.com/utopia-php/system.git", + "reference": "8e4a7edaf2dfeb4c9524e9f766d27754f2c4b64d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/utopia-php/system/zipball/8e4a7edaf2dfeb4c9524e9f766d27754f2c4b64d", + "reference": "8e4a7edaf2dfeb4c9524e9f766d27754f2c4b64d", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "require-dev": { + "laravel/pint": "1.13.*", + "phpstan/phpstan": "1.10.*", + "phpunit/phpunit": "9.6.*" + }, + "type": "library", + "autoload": { + "psr-4": { + "Utopia\\System\\": "src/System" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Eldad Fux", + "email": "eldad@appwrite.io" + }, + { + "name": "Torsten Dittmann", + "email": "torsten@appwrite.io" + } + ], + "description": "A simple library for obtaining information about the host's system.", + "keywords": [ + "framework", + "php", + "system", + "upf", + "utopia" + ], + "support": { + "issues": "https://github.com/utopia-php/system/issues", + "source": "https://github.com/utopia-php/system/tree/0.9.0" + }, + "time": "2024-10-09T14:44:01+00:00" + }, + { + "name": "utopia-php/telemetry", + "version": "0.1.1", + "source": { + "type": "git", + "url": "https://github.com/utopia-php/telemetry.git", + "reference": "437f0021777f0e575dfb9e8a1a081b3aed75e33f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/utopia-php/telemetry/zipball/437f0021777f0e575dfb9e8a1a081b3aed75e33f", + "reference": "437f0021777f0e575dfb9e8a1a081b3aed75e33f", + "shasum": "" + }, + "require": { + "ext-opentelemetry": "*", + "ext-protobuf": "*", + "nyholm/psr7": "^1.8", + "open-telemetry/exporter-otlp": "^1.1", + "open-telemetry/sdk": "^1.1", + "php": ">=8.0", + "symfony/http-client": "^7.1" + }, + "require-dev": { + "laravel/pint": "^1.2", + "phpbench/phpbench": "^1.2", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^9.5.25" + }, + "type": "library", + "autoload": { + "psr-4": { + "Utopia\\Telemetry\\": "src/Telemetry" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "keywords": [ + "framework", + "php", + "upf" + ], + "support": { + "issues": "https://github.com/utopia-php/telemetry/issues", + "source": "https://github.com/utopia-php/telemetry/tree/0.1.1" + }, + "time": "2025-03-17T11:57:52+00:00" + }, + { + "name": "utopia-php/validators", + "version": "0.1.0", + "source": { + "type": "git", + "url": "https://github.com/utopia-php/validators.git", + "reference": "5c57d5b6cf964f8981807c1d3ea8df620c869080" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/utopia-php/validators/zipball/5c57d5b6cf964f8981807c1d3ea8df620c869080", + "reference": "5c57d5b6cf964f8981807c1d3ea8df620c869080", + "shasum": "" + }, + "require": { + "php": ">=8.0" + }, + "require-dev": { + "laravel/pint": "1.*", + "phpstan/phpstan": "1.*", + "phpunit/phpunit": "11.*" + }, + "type": "library", + "autoload": { + "psr-4": { + "Utopia\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A lightweight collection of reusable validators for Utopia projects", + "keywords": [ + "php", + "utopia", + "validation", + "validator" + ], + "support": { + "issues": "https://github.com/utopia-php/validators/issues", + "source": "https://github.com/utopia-php/validators/tree/0.1.0" + }, + "time": "2025-11-18T11:05:46+00:00" + }, + { + "name": "utopia-php/vcs", + "version": "0.12.0", + "source": { + "type": "git", + "url": "https://github.com/utopia-php/vcs.git", + "reference": "28457cf347972c4ec95d3ca77776a4921364a665" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/utopia-php/vcs/zipball/28457cf347972c4ec95d3ca77776a4921364a665", + "reference": "28457cf347972c4ec95d3ca77776a4921364a665", + "shasum": "" + }, + "require": { + "adhocore/jwt": "^1.1", + "php": ">=8.0", + "utopia-php/cache": "0.13.*", + "utopia-php/framework": "0.*.*", + "utopia-php/system": "0.9.*" + }, + "require-dev": { + "laravel/pint": "1.*.*", + "phpstan/phpstan": "1.*.*", + "phpunit/phpunit": "^9.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "Utopia\\VCS\\": "src/VCS" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A simple library to integrate version control systems like GitHub, GitLab etc. to receive webhook events", + "keywords": [ + "framework", + "php", + "utopia", + "vcs" + ], + "support": { + "issues": "https://github.com/utopia-php/vcs/issues", + "source": "https://github.com/utopia-php/vcs/tree/0.12.0" + }, + "time": "2025-10-22T12:58:29+00:00" + }, + { + "name": "utopia-php/websocket", + "version": "0.3.1", + "source": { + "type": "git", + "url": "https://github.com/utopia-php/websocket.git", + "reference": "77004ba9f66a0ab6eb840a85b2af332fca8f6bd9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/utopia-php/websocket/zipball/77004ba9f66a0ab6eb840a85b2af332fca8f6bd9", + "reference": "77004ba9f66a0ab6eb840a85b2af332fca8f6bd9", + "shasum": "" + }, + "require": { + "php": ">=8.0" + }, + "require-dev": { + "laravel/pint": "^1.15", + "phpstan/phpstan": "^1.12", + "phpunit/phpunit": "^9.5.5", + "swoole/ide-helper": "5.1.2", + "textalk/websocket": "1.5.2", + "workerman/workerman": "4.1.*" + }, + "type": "library", + "autoload": { + "psr-4": { + "Utopia\\WebSocket\\": "src/WebSocket" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A simple abstraction for WebSocket servers.", + "keywords": [ + "framework", + "php", + "upf", + "utopia", + "websocket" + ], + "support": { + "issues": "https://github.com/utopia-php/websocket/issues", + "source": "https://github.com/utopia-php/websocket/tree/0.3.1" + }, + "time": "2025-05-09T12:57:42+00:00" + }, + { + "name": "webmozart/assert", + "version": "1.12.1", + "source": { + "type": "git", + "url": "https://github.com/webmozarts/assert.git", + "reference": "9be6926d8b485f55b9229203f962b51ed377ba68" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozarts/assert/zipball/9be6926d8b485f55b9229203f962b51ed377ba68", + "reference": "9be6926d8b485f55b9229203f962b51ed377ba68", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "ext-date": "*", + "ext-filter": "*", + "php": "^7.2 || ^8.0" + }, + "suggest": { + "ext-intl": "", + "ext-simplexml": "", + "ext-spl": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.10-dev" + } + }, + "autoload": { + "psr-4": { + "Webmozart\\Assert\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Assertions to validate method input/output with nice error messages.", + "keywords": [ + "assert", + "check", + "validate" + ], + "support": { + "issues": "https://github.com/webmozarts/assert/issues", + "source": "https://github.com/webmozarts/assert/tree/1.12.1" + }, + "time": "2025-10-29T15:56:20+00:00" + }, + { + "name": "webonyx/graphql-php", + "version": "v14.11.10", + "source": { + "type": "git", + "url": "https://github.com/webonyx/graphql-php.git", + "reference": "d9c2fdebc6aa01d831bc2969da00e8588cffef19" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webonyx/graphql-php/zipball/d9c2fdebc6aa01d831bc2969da00e8588cffef19", + "reference": "d9c2fdebc6aa01d831bc2969da00e8588cffef19", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-mbstring": "*", + "php": "^7.1 || ^8" + }, + "require-dev": { + "amphp/amp": "^2.3", + "doctrine/coding-standard": "^6.0", + "nyholm/psr7": "^1.2", + "phpbench/phpbench": "^1.2", + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "0.12.82", + "phpstan/phpstan-phpunit": "0.12.18", + "phpstan/phpstan-strict-rules": "0.12.9", + "phpunit/phpunit": "^7.2 || ^8.5", + "psr/http-message": "^1.0", + "react/promise": "2.*", + "simpod/php-coveralls-mirror": "^3.0" + }, + "suggest": { + "psr/http-message": "To use standard GraphQL server", + "react/promise": "To leverage async resolving on React PHP platform" + }, + "type": "library", + "autoload": { + "psr-4": { + "GraphQL\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A PHP port of GraphQL reference implementation", + "homepage": "https://github.com/webonyx/graphql-php", + "keywords": [ + "api", + "graphql" + ], + "support": { + "issues": "https://github.com/webonyx/graphql-php/issues", + "source": "https://github.com/webonyx/graphql-php/tree/v14.11.10" + }, + "funding": [ + { + "url": "https://opencollective.com/webonyx-graphql-php", + "type": "open_collective" + } + ], + "time": "2023-07-05T14:23:37+00:00" + } + ], + "packages-dev": [ + { + "name": "appwrite/sdk-generator", + "version": "1.5.9", + "source": { + "type": "git", + "url": "https://github.com/appwrite/sdk-generator.git", + "reference": "ee434aa00a9185380b9a39bb46bf86d7104d3a93" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/appwrite/sdk-generator/zipball/ee434aa00a9185380b9a39bb46bf86d7104d3a93", + "reference": "ee434aa00a9185380b9a39bb46bf86d7104d3a93", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "ext-json": "*", + "ext-mbstring": "*", + "matthiasmullie/minify": "1.3.*", + "php": ">=8.3", + "twig/twig": "3.14.*" + }, + "require-dev": { + "brianium/paratest": "7.*", + "phpunit/phpunit": "11.*", + "squizlabs/php_codesniffer": "3.*" + }, + "type": "library", + "autoload": { + "psr-4": { + "Appwrite\\SDK\\": "src/SDK", + "Appwrite\\Spec\\": "src/Spec" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Eldad Fux", + "email": "eldad@appwrite.io" + } + ], + "description": "Appwrite PHP library for generating API SDKs for multiple programming languages and platforms", + "support": { + "issues": "https://github.com/appwrite/sdk-generator/issues", + "source": "https://github.com/appwrite/sdk-generator/tree/1.5.9" + }, + "time": "2025-11-25T05:22:25+00:00" + }, + { + "name": "doctrine/annotations", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/doctrine/annotations.git", + "reference": "901c2ee5d26eb64ff43c47976e114bf00843acf7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/901c2ee5d26eb64ff43c47976e114bf00843acf7", + "reference": "901c2ee5d26eb64ff43c47976e114bf00843acf7", + "shasum": "" + }, + "require": { + "doctrine/lexer": "^2 || ^3", + "ext-tokenizer": "*", + "php": "^7.2 || ^8.0", + "psr/cache": "^1 || ^2 || ^3" + }, + "require-dev": { + "doctrine/cache": "^2.0", + "doctrine/coding-standard": "^10", + "phpstan/phpstan": "^1.10.28", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "symfony/cache": "^5.4 || ^6.4 || ^7", + "vimeo/psalm": "^4.30 || ^5.14" + }, + "suggest": { + "php": "PHP 8.0 or higher comes with attributes, a native replacement for annotations" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Docblock Annotations Parser", + "homepage": "https://www.doctrine-project.org/projects/annotations.html", + "keywords": [ + "annotations", + "docblock", + "parser" + ], + "support": { + "issues": "https://github.com/doctrine/annotations/issues", + "source": "https://github.com/doctrine/annotations/tree/2.0.2" + }, + "abandoned": true, + "time": "2024-09-05T10:17:24+00:00" + }, + { + "name": "doctrine/instantiator", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/instantiator.git", + "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", + "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", + "shasum": "" + }, + "require": { + "php": "^8.1" + }, + "require-dev": { + "doctrine/coding-standard": "^11", + "ext-pdo": "*", + "ext-phar": "*", + "phpbench/phpbench": "^1.2", + "phpstan/phpstan": "^1.9.4", + "phpstan/phpstan-phpunit": "^1.3", + "phpunit/phpunit": "^9.5.27", + "vimeo/psalm": "^5.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "https://ocramius.github.io/" + } + ], + "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", + "homepage": "https://www.doctrine-project.org/projects/instantiator.html", + "keywords": [ + "constructor", + "instantiate" + ], + "support": { + "issues": "https://github.com/doctrine/instantiator/issues", + "source": "https://github.com/doctrine/instantiator/tree/2.0.0" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator", + "type": "tidelift" + } + ], + "time": "2022-12-30T00:23:10+00:00" + }, + { + "name": "doctrine/lexer", + "version": "3.0.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/lexer.git", + "reference": "31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd", + "reference": "31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd", + "shasum": "" + }, + "require": { + "php": "^8.1" + }, + "require-dev": { + "doctrine/coding-standard": "^12", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^10.5", + "psalm/plugin-phpunit": "^0.18.3", + "vimeo/psalm": "^5.21" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Common\\Lexer\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", + "homepage": "https://www.doctrine-project.org/projects/lexer.html", + "keywords": [ + "annotations", + "docblock", + "lexer", + "parser", + "php" + ], + "support": { + "issues": "https://github.com/doctrine/lexer/issues", + "source": "https://github.com/doctrine/lexer/tree/3.0.1" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Flexer", + "type": "tidelift" + } + ], + "time": "2024-02-05T11:56:58+00:00" + }, + { + "name": "laravel/pint", + "version": "v1.26.0", + "source": { + "type": "git", + "url": "https://github.com/laravel/pint.git", + "reference": "69dcca060ecb15e4b564af63d1f642c81a241d6f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/pint/zipball/69dcca060ecb15e4b564af63d1f642c81a241d6f", + "reference": "69dcca060ecb15e4b564af63d1f642c81a241d6f", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-mbstring": "*", + "ext-tokenizer": "*", + "ext-xml": "*", + "php": "^8.2.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.90.0", + "illuminate/view": "^12.40.1", + "larastan/larastan": "^3.8.0", + "laravel-zero/framework": "^12.0.4", + "mockery/mockery": "^1.6.12", + "nunomaduro/termwind": "^2.3.3", + "pestphp/pest": "^3.8.4" + }, + "bin": [ + "builds/pint" + ], + "type": "project", + "autoload": { + "psr-4": { + "App\\": "app/", + "Database\\Seeders\\": "database/seeders/", + "Database\\Factories\\": "database/factories/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nuno Maduro", + "email": "enunomaduro@gmail.com" + } + ], + "description": "An opinionated code formatter for PHP.", + "homepage": "https://laravel.com", + "keywords": [ + "dev", + "format", + "formatter", + "lint", + "linter", + "php" + ], + "support": { + "issues": "https://github.com/laravel/pint/issues", + "source": "https://github.com/laravel/pint" + }, + "time": "2025-11-25T21:15:52+00:00" + }, + { + "name": "matthiasmullie/minify", + "version": "1.3.75", + "source": { + "type": "git", + "url": "https://github.com/matthiasmullie/minify.git", + "reference": "76ba4a5f555fd7bf4aa408af608e991569076671" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/matthiasmullie/minify/zipball/76ba4a5f555fd7bf4aa408af608e991569076671", + "reference": "76ba4a5f555fd7bf4aa408af608e991569076671", + "shasum": "" + }, + "require": { + "ext-pcre": "*", + "matthiasmullie/path-converter": "~1.1", + "php": ">=5.3.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": ">=2.0", + "matthiasmullie/scrapbook": ">=1.3", + "phpunit/phpunit": ">=4.8" + }, + "suggest": { + "psr/cache-implementation": "Cache implementation to use with Minify::cache" + }, + "bin": [ + "bin/minifycss", + "bin/minifyjs" + ], + "type": "library", + "autoload": { + "psr-4": { + "MatthiasMullie\\Minify\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Matthias Mullie", + "email": "minify@mullie.eu", + "homepage": "https://www.mullie.eu", + "role": "Developer" + } + ], + "description": "CSS & JavaScript minifier, in PHP. Removes whitespace, strips comments, combines files (incl. @import statements and small assets in CSS files), and optimizes/shortens a few common programming patterns.", + "homepage": "https://github.com/matthiasmullie/minify", + "keywords": [ + "JS", + "css", + "javascript", + "minifier", + "minify" + ], + "support": { + "issues": "https://github.com/matthiasmullie/minify/issues", + "source": "https://github.com/matthiasmullie/minify/tree/1.3.75" + }, + "funding": [ + { + "url": "https://github.com/matthiasmullie", + "type": "github" + } + ], + "time": "2025-06-25T09:56:19+00:00" + }, + { + "name": "matthiasmullie/path-converter", + "version": "1.1.3", + "source": { + "type": "git", + "url": "https://github.com/matthiasmullie/path-converter.git", + "reference": "e7d13b2c7e2f2268e1424aaed02085518afa02d9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/matthiasmullie/path-converter/zipball/e7d13b2c7e2f2268e1424aaed02085518afa02d9", + "reference": "e7d13b2c7e2f2268e1424aaed02085518afa02d9", + "shasum": "" + }, + "require": { + "ext-pcre": "*", + "php": ">=5.3.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.8" + }, + "type": "library", + "autoload": { + "psr-4": { + "MatthiasMullie\\PathConverter\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Matthias Mullie", + "email": "pathconverter@mullie.eu", + "homepage": "http://www.mullie.eu", + "role": "Developer" + } + ], + "description": "Relative path converter", + "homepage": "http://github.com/matthiasmullie/path-converter", + "keywords": [ + "converter", + "path", + "paths", + "relative" + ], + "support": { + "issues": "https://github.com/matthiasmullie/path-converter/issues", + "source": "https://github.com/matthiasmullie/path-converter/tree/1.1.3" + }, + "time": "2019-02-05T23:41:09+00:00" + }, + { + "name": "myclabs/deep-copy", + "version": "1.13.4", + "source": { + "type": "git", + "url": "https://github.com/myclabs/DeepCopy.git", + "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/07d290f0c47959fd5eed98c95ee5602db07e0b6a", + "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "conflict": { + "doctrine/collections": "<1.6.8", + "doctrine/common": "<2.13.3 || >=3 <3.2.2" + }, + "require-dev": { + "doctrine/collections": "^1.6.8", + "doctrine/common": "^2.13.3 || ^3.2.2", + "phpspec/prophecy": "^1.10", + "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" + }, + "type": "library", + "autoload": { + "files": [ + "src/DeepCopy/deep_copy.php" + ], + "psr-4": { + "DeepCopy\\": "src/DeepCopy/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Create deep copies (clones) of your objects", + "keywords": [ + "clone", + "copy", + "duplicate", + "object", + "object graph" + ], + "support": { + "issues": "https://github.com/myclabs/DeepCopy/issues", + "source": "https://github.com/myclabs/DeepCopy/tree/1.13.4" + }, + "funding": [ + { + "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", + "type": "tidelift" + } + ], + "time": "2025-08-01T08:46:24+00:00" + }, + { + "name": "nikic/php-parser", + "version": "v5.6.2", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "3a454ca033b9e06b63282ce19562e892747449bb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/3a454ca033b9e06b63282ce19562e892747449bb", + "reference": "3a454ca033b9e06b63282ce19562e892747449bb", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "ext-json": "*", + "ext-tokenizer": "*", + "php": ">=7.4" + }, + "require-dev": { + "ircmaxell/php-yacc": "^0.0.7", + "phpunit/phpunit": "^9.0" + }, + "bin": [ + "bin/php-parse" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.x-dev" + } + }, + "autoload": { + "psr-4": { + "PhpParser\\": "lib/PhpParser" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Nikita Popov" + } + ], + "description": "A PHP parser written in PHP", + "keywords": [ + "parser", + "php" + ], + "support": { + "issues": "https://github.com/nikic/PHP-Parser/issues", + "source": "https://github.com/nikic/PHP-Parser/tree/v5.6.2" + }, + "time": "2025-10-21T19:32:17+00:00" + }, + { + "name": "phar-io/manifest", + "version": "2.0.4", + "source": { + "type": "git", + "url": "https://github.com/phar-io/manifest.git", + "reference": "54750ef60c58e43759730615a392c31c80e23176" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176", + "reference": "54750ef60c58e43759730615a392c31c80e23176", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-libxml": "*", + "ext-phar": "*", + "ext-xmlwriter": "*", + "phar-io/version": "^3.0.1", + "php": "^7.2 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", + "support": { + "issues": "https://github.com/phar-io/manifest/issues", + "source": "https://github.com/phar-io/manifest/tree/2.0.4" + }, + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2024-03-03T12:33:53+00:00" + }, + { + "name": "phar-io/version", + "version": "3.2.1", + "source": { + "type": "git", + "url": "https://github.com/phar-io/version.git", + "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74", + "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Library for handling version information and constraints", + "support": { + "issues": "https://github.com/phar-io/version/issues", + "source": "https://github.com/phar-io/version/tree/3.2.1" + }, + "time": "2022-02-21T01:04:05+00:00" + }, + { + "name": "phpbench/container", + "version": "2.2.3", + "source": { + "type": "git", + "url": "https://github.com/phpbench/container.git", + "reference": "0c7b2d36c1ea53fe27302fb8873ded7172047196" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpbench/container/zipball/0c7b2d36c1ea53fe27302fb8873ded7172047196", + "reference": "0c7b2d36c1ea53fe27302fb8873ded7172047196", + "shasum": "" + }, + "require": { + "psr/container": "^1.0|^2.0", + "symfony/options-resolver": "^4.2 || ^5.0 || ^6.0 || ^7.0 || ^8.0" + }, + "require-dev": { + "php-cs-fixer/shim": "^3.89", + "phpstan/phpstan": "^0.12.52", + "phpunit/phpunit": "^8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "PhpBench\\DependencyInjection\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Leech", + "email": "daniel@dantleech.com" + } + ], + "description": "Simple, configurable, service container.", + "support": { + "issues": "https://github.com/phpbench/container/issues", + "source": "https://github.com/phpbench/container/tree/2.2.3" + }, + "time": "2025-11-06T09:05:13+00:00" + }, + { + "name": "phpbench/phpbench", + "version": "1.4.3", + "source": { + "type": "git", + "url": "https://github.com/phpbench/phpbench.git", + "reference": "b641dde59d969ea42eed70a39f9b51950bc96878" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpbench/phpbench/zipball/b641dde59d969ea42eed70a39f9b51950bc96878", + "reference": "b641dde59d969ea42eed70a39f9b51950bc96878", + "shasum": "" + }, + "require": { + "doctrine/annotations": "^2.0", + "ext-dom": "*", + "ext-json": "*", + "ext-pcre": "*", + "ext-reflection": "*", + "ext-spl": "*", + "ext-tokenizer": "*", + "php": "^8.1", + "phpbench/container": "^2.2", + "psr/log": "^1.1 || ^2.0 || ^3.0", + "seld/jsonlint": "^1.1", + "symfony/console": "^6.1 || ^7.0 || ^8.0", + "symfony/filesystem": "^6.1 || ^7.0 || ^8.0", + "symfony/finder": "^6.1 || ^7.0 || ^8.0", + "symfony/options-resolver": "^6.1 || ^7.0 || ^8.0", + "symfony/process": "^6.1 || ^7.0 || ^8.0", + "webmozart/glob": "^4.6" + }, + "require-dev": { + "dantleech/invoke": "^2.0", + "ergebnis/composer-normalize": "^2.39", + "jangregor/phpstan-prophecy": "^1.0", + "php-cs-fixer/shim": "^3.9", + "phpspec/prophecy": "^1.22", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan": "^1.0", + "phpstan/phpstan-phpunit": "^1.0", + "phpunit/phpunit": "^10.4 || ^11.0", + "rector/rector": "^1.2", + "symfony/error-handler": "^6.1 || ^7.0 || ^8.0", + "symfony/var-dumper": "^6.1 || ^7.0 || ^8.0" + }, + "suggest": { + "ext-xdebug": "For Xdebug profiling extension." + }, + "bin": [ + "bin/phpbench" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2-dev" + } + }, + "autoload": { + "files": [ + "lib/Report/Func/functions.php" + ], + "psr-4": { + "PhpBench\\": "lib/", + "PhpBench\\Extensions\\XDebug\\": "extensions/xdebug/lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Leech", + "email": "daniel@dantleech.com" + } + ], + "description": "PHP Benchmarking Framework", + "keywords": [ + "benchmarking", + "optimization", + "performance", + "profiling", + "testing" + ], + "support": { + "issues": "https://github.com/phpbench/phpbench/issues", + "source": "https://github.com/phpbench/phpbench/tree/1.4.3" + }, + "funding": [ + { + "url": "https://github.com/dantleech", + "type": "github" + } + ], + "time": "2025-11-06T19:07:31+00:00" + }, + { + "name": "phpstan/phpstan", + "version": "1.8.11", + "source": { + "type": "git", + "url": "https://github.com/phpstan/phpstan.git", + "reference": "46e223dd68a620da18855c23046ddb00940b4014" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/46e223dd68a620da18855c23046ddb00940b4014", + "reference": "46e223dd68a620da18855c23046ddb00940b4014", + "shasum": "" + }, + "require": { + "php": "^7.2|^8.0" + }, + "conflict": { + "phpstan/phpstan-shim": "*" + }, + "bin": [ + "phpstan", + "phpstan.phar" + ], + "type": "library", + "autoload": { + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "PHPStan - PHP Static Analysis Tool", + "keywords": [ + "dev", + "static analysis" + ], + "support": { + "issues": "https://github.com/phpstan/phpstan/issues", + "source": "https://github.com/phpstan/phpstan/tree/1.8.11" + }, + "funding": [ + { + "url": "https://github.com/ondrejmirtes", + "type": "github" + }, + { + "url": "https://github.com/phpstan", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpstan/phpstan", + "type": "tidelift" + } + ], + "time": "2022-10-24T15:45:13+00:00" + }, + { + "name": "phpunit/php-code-coverage", + "version": "9.2.32", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-code-coverage.git", + "reference": "85402a822d1ecf1db1096959413d35e1c37cf1a5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/85402a822d1ecf1db1096959413d35e1c37cf1a5", + "reference": "85402a822d1ecf1db1096959413d35e1c37cf1a5", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-libxml": "*", + "ext-xmlwriter": "*", + "nikic/php-parser": "^4.19.1 || ^5.1.0", + "php": ">=7.3", + "phpunit/php-file-iterator": "^3.0.6", + "phpunit/php-text-template": "^2.0.4", + "sebastian/code-unit-reverse-lookup": "^2.0.3", + "sebastian/complexity": "^2.0.3", + "sebastian/environment": "^5.1.5", + "sebastian/lines-of-code": "^1.0.4", + "sebastian/version": "^3.0.2", + "theseer/tokenizer": "^1.2.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.6" + }, + "suggest": { + "ext-pcov": "PHP extension that provides line coverage", + "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "9.2.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", + "homepage": "https://github.com/sebastianbergmann/php-code-coverage", + "keywords": [ + "coverage", + "testing", + "xunit" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", + "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.32" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-08-22T04:23:01+00:00" + }, + { + "name": "phpunit/php-file-iterator", + "version": "3.0.6", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-file-iterator.git", + "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", + "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "FilterIterator implementation that filters files based on a list of suffixes.", + "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", + "keywords": [ + "filesystem", + "iterator" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2021-12-02T12:48:52+00:00" + }, + { + "name": "phpunit/php-invoker", + "version": "3.1.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-invoker.git", + "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67", + "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "ext-pcntl": "*", + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-pcntl": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Invoke callables with a timeout", + "homepage": "https://github.com/sebastianbergmann/php-invoker/", + "keywords": [ + "process" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-invoker/issues", + "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:58:55+00:00" + }, + { + "name": "phpunit/php-text-template", + "version": "2.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", + "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Simple template engine.", + "homepage": "https://github.com/sebastianbergmann/php-text-template/", + "keywords": [ + "template" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-text-template/issues", + "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T05:33:50+00:00" + }, + { + "name": "phpunit/php-timer", + "version": "5.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", + "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Utility class for timing", + "homepage": "https://github.com/sebastianbergmann/php-timer/", + "keywords": [ + "timer" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-timer/issues", + "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:16:10+00:00" + }, + { + "name": "phpunit/phpunit", + "version": "9.6.29", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/phpunit.git", + "reference": "9ecfec57835a5581bc888ea7e13b51eb55ab9dd3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/9ecfec57835a5581bc888ea7e13b51eb55ab9dd3", + "reference": "9ecfec57835a5581bc888ea7e13b51eb55ab9dd3", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "^1.5.0 || ^2", + "ext-dom": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-xml": "*", + "ext-xmlwriter": "*", + "myclabs/deep-copy": "^1.13.4", + "phar-io/manifest": "^2.0.4", + "phar-io/version": "^3.2.1", + "php": ">=7.3", + "phpunit/php-code-coverage": "^9.2.32", + "phpunit/php-file-iterator": "^3.0.6", + "phpunit/php-invoker": "^3.1.1", + "phpunit/php-text-template": "^2.0.4", + "phpunit/php-timer": "^5.0.3", + "sebastian/cli-parser": "^1.0.2", + "sebastian/code-unit": "^1.0.8", + "sebastian/comparator": "^4.0.9", + "sebastian/diff": "^4.0.6", + "sebastian/environment": "^5.1.5", + "sebastian/exporter": "^4.0.8", + "sebastian/global-state": "^5.0.8", + "sebastian/object-enumerator": "^4.0.4", + "sebastian/resource-operations": "^3.0.4", + "sebastian/type": "^3.2.1", + "sebastian/version": "^3.0.2" + }, + "suggest": { + "ext-soap": "To be able to generate mocks based on WSDL files", + "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" + }, + "bin": [ + "phpunit" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "9.6-dev" + } + }, + "autoload": { + "files": [ + "src/Framework/Assert/Functions.php" + ], + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "The PHP Unit Testing framework.", + "homepage": "https://phpunit.de/", + "keywords": [ + "phpunit", + "testing", + "xunit" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/phpunit/issues", + "security": "https://github.com/sebastianbergmann/phpunit/security/policy", + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.29" + }, + "funding": [ + { + "url": "https://phpunit.de/sponsors.html", + "type": "custom" + }, + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", + "type": "tidelift" + } + ], + "time": "2025-09-24T06:29:11+00:00" + }, + { + "name": "psr/cache", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/cache.git", + "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", + "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Cache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for caching libraries", + "keywords": [ + "cache", + "psr", + "psr-6" + ], + "support": { + "source": "https://github.com/php-fig/cache/tree/3.0.0" + }, + "time": "2021-02-03T23:26:27+00:00" + }, + { + "name": "sebastian/cli-parser", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/cli-parser.git", + "reference": "2b56bea83a09de3ac06bb18b92f068e60cc6f50b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/2b56bea83a09de3ac06bb18b92f068e60cc6f50b", + "reference": "2b56bea83a09de3ac06bb18b92f068e60cc6f50b", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for parsing CLI options", + "homepage": "https://github.com/sebastianbergmann/cli-parser", + "support": { + "issues": "https://github.com/sebastianbergmann/cli-parser/issues", + "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-03-02T06:27:43+00:00" + }, + { + "name": "sebastian/code-unit", + "version": "1.0.8", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit.git", + "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120", + "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Collection of value objects that represent the PHP code units", + "homepage": "https://github.com/sebastianbergmann/code-unit", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit/issues", + "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:08:54+00:00" + }, + { + "name": "sebastian/code-unit-reverse-lookup", + "version": "2.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", + "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", + "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Looks up which function or method a line of code belongs to", + "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", + "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:30:19+00:00" + }, + { + "name": "sebastian/comparator", + "version": "4.0.9", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/comparator.git", + "reference": "67a2df3a62639eab2cc5906065e9805d4fd5dfc5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/67a2df3a62639eab2cc5906065e9805d4fd5dfc5", + "reference": "67a2df3a62639eab2cc5906065e9805d4fd5dfc5", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "sebastian/diff": "^4.0", + "sebastian/exporter": "^4.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + } + ], + "description": "Provides the functionality to compare PHP values for equality", + "homepage": "https://github.com/sebastianbergmann/comparator", + "keywords": [ + "comparator", + "compare", + "equality" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/comparator/issues", + "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.9" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/comparator", + "type": "tidelift" + } + ], + "time": "2025-08-10T06:51:50+00:00" + }, + { + "name": "sebastian/complexity", + "version": "2.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/complexity.git", + "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/25f207c40d62b8b7aa32f5ab026c53561964053a", + "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.18 || ^5.0", + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for calculating the complexity of PHP code units", + "homepage": "https://github.com/sebastianbergmann/complexity", + "support": { + "issues": "https://github.com/sebastianbergmann/complexity/issues", + "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-12-22T06:19:30+00:00" + }, + { + "name": "sebastian/diff", + "version": "4.0.6", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/ba01945089c3a293b01ba9badc29ad55b106b0bc", + "reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3", + "symfony/process": "^4.2 || ^5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" + } + ], + "description": "Diff implementation", + "homepage": "https://github.com/sebastianbergmann/diff", + "keywords": [ + "diff", + "udiff", + "unidiff", + "unified diff" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/diff/issues", + "source": "https://github.com/sebastianbergmann/diff/tree/4.0.6" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-03-02T06:30:58+00:00" + }, + { + "name": "sebastian/environment", + "version": "5.1.5", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/environment.git", + "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", + "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-posix": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides functionality to handle HHVM/PHP environments", + "homepage": "http://www.github.com/sebastianbergmann/environment", + "keywords": [ + "Xdebug", + "environment", + "hhvm" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/environment/issues", + "source": "https://github.com/sebastianbergmann/environment/tree/5.1.5" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T06:03:51+00:00" + }, + { + "name": "sebastian/exporter", + "version": "4.0.8", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/exporter.git", + "reference": "14c6ba52f95a36c3d27c835d65efc7123c446e8c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/14c6ba52f95a36c3d27c835d65efc7123c446e8c", + "reference": "14c6ba52f95a36c3d27c835d65efc7123c446e8c", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "sebastian/recursion-context": "^4.0" + }, + "require-dev": { + "ext-mbstring": "*", + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Provides the functionality to export PHP variables for visualization", + "homepage": "https://www.github.com/sebastianbergmann/exporter", + "keywords": [ + "export", + "exporter" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/exporter/issues", + "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.8" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/exporter", + "type": "tidelift" + } + ], + "time": "2025-09-24T06:03:27+00:00" + }, + { + "name": "sebastian/global-state", + "version": "5.0.8", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/global-state.git", + "reference": "b6781316bdcd28260904e7cc18ec983d0d2ef4f6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/b6781316bdcd28260904e7cc18ec983d0d2ef4f6", + "reference": "b6781316bdcd28260904e7cc18ec983d0d2ef4f6", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "sebastian/object-reflector": "^2.0", + "sebastian/recursion-context": "^4.0" + }, + "require-dev": { + "ext-dom": "*", + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-uopz": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Snapshotting of global state", + "homepage": "http://www.github.com/sebastianbergmann/global-state", + "keywords": [ + "global state" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/global-state/issues", + "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.8" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/global-state", + "type": "tidelift" + } + ], + "time": "2025-08-10T07:10:35+00:00" + }, + { + "name": "sebastian/lines-of-code", + "version": "1.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/lines-of-code.git", + "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/e1e4a170560925c26d424b6a03aed157e7dcc5c5", + "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.18 || ^5.0", + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for counting the lines of code in PHP source code", + "homepage": "https://github.com/sebastianbergmann/lines-of-code", + "support": { + "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-12-22T06:20:34+00:00" + }, + { + "name": "sebastian/object-enumerator", + "version": "4.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-enumerator.git", + "reference": "5c9eeac41b290a3712d88851518825ad78f45c71" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71", + "reference": "5c9eeac41b290a3712d88851518825ad78f45c71", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "sebastian/object-reflector": "^2.0", + "sebastian/recursion-context": "^4.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Traverses array structures and object graphs to enumerate all referenced objects", + "homepage": "https://github.com/sebastianbergmann/object-enumerator/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:12:34+00:00" + }, + { + "name": "sebastian/object-reflector", + "version": "2.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-reflector.git", + "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", + "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Allows reflection of object attributes, including inherited and non-public ones", + "homepage": "https://github.com/sebastianbergmann/object-reflector/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-reflector/issues", + "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:14:26+00:00" + }, + { + "name": "sebastian/recursion-context", + "version": "4.0.6", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "539c6691e0623af6dc6f9c20384c120f963465a0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/539c6691e0623af6dc6f9c20384c120f963465a0", + "reference": "539c6691e0623af6dc6f9c20384c120f963465a0", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + } + ], + "description": "Provides functionality to recursively process PHP variables", + "homepage": "https://github.com/sebastianbergmann/recursion-context", + "support": { + "issues": "https://github.com/sebastianbergmann/recursion-context/issues", + "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.6" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/recursion-context", + "type": "tidelift" + } + ], + "time": "2025-08-10T06:57:39+00:00" + }, + { + "name": "sebastian/resource-operations", + "version": "3.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/resource-operations.git", + "reference": "05d5692a7993ecccd56a03e40cd7e5b09b1d404e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/05d5692a7993ecccd56a03e40cd7e5b09b1d404e", + "reference": "05d5692a7993ecccd56a03e40cd7e5b09b1d404e", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides a list of PHP built-in functions that operate on resources", + "homepage": "https://www.github.com/sebastianbergmann/resource-operations", + "support": { + "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-03-14T16:00:52+00:00" + }, + { + "name": "sebastian/type", + "version": "3.2.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/type.git", + "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", + "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.2-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Collection of value objects that represent the types of the PHP type system", + "homepage": "https://github.com/sebastianbergmann/type", + "support": { + "issues": "https://github.com/sebastianbergmann/type/issues", + "source": "https://github.com/sebastianbergmann/type/tree/3.2.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T06:13:03+00:00" + }, + { + "name": "sebastian/version", + "version": "3.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "c6c1022351a901512170118436c764e473f6de8c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c", + "reference": "c6c1022351a901512170118436c764e473f6de8c", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that helps with managing the version number of Git-hosted PHP projects", + "homepage": "https://github.com/sebastianbergmann/version", + "support": { + "issues": "https://github.com/sebastianbergmann/version/issues", + "source": "https://github.com/sebastianbergmann/version/tree/3.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:39:44+00:00" + }, + { + "name": "seld/jsonlint", + "version": "1.11.0", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/jsonlint.git", + "reference": "1748aaf847fc731cfad7725aec413ee46f0cc3a2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/1748aaf847fc731cfad7725aec413ee46f0cc3a2", + "reference": "1748aaf847fc731cfad7725aec413ee46f0cc3a2", + "shasum": "" + }, + "require": { + "php": "^5.3 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^1.11", + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^8.5.13" + }, + "bin": [ + "bin/jsonlint" + ], + "type": "library", + "autoload": { + "psr-4": { + "Seld\\JsonLint\\": "src/Seld/JsonLint/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "https://seld.be" + } + ], + "description": "JSON Linter", + "keywords": [ + "json", + "linter", + "parser", + "validator" + ], + "support": { + "issues": "https://github.com/Seldaek/jsonlint/issues", + "source": "https://github.com/Seldaek/jsonlint/tree/1.11.0" + }, + "funding": [ + { + "url": "https://github.com/Seldaek", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/seld/jsonlint", + "type": "tidelift" + } + ], + "time": "2024-07-11T14:55:45+00:00" + }, + { + "name": "swoole/ide-helper", + "version": "5.1.2", + "source": { + "type": "git", + "url": "https://github.com/swoole/ide-helper.git", + "reference": "33ec7af9111b76d06a70dd31191cc74793551112" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/swoole/ide-helper/zipball/33ec7af9111b76d06a70dd31191cc74793551112", + "reference": "33ec7af9111b76d06a70dd31191cc74793551112", + "shasum": "" + }, + "type": "library", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Team Swoole", + "email": "team@swoole.com" + } + ], + "description": "IDE help files for Swoole.", + "support": { + "issues": "https://github.com/swoole/ide-helper/issues", + "source": "https://github.com/swoole/ide-helper/tree/5.1.2" + }, + "time": "2024-02-01T22:28:11+00:00" + }, + { + "name": "symfony/console", + "version": "v7.3.6", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "c28ad91448f86c5f6d9d2c70f0cf68bf135f252a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/c28ad91448f86c5f6d9d2c70f0cf68bf135f252a", + "reference": "c28ad91448f86c5f6d9d2c70f0cf68bf135f252a", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "~1.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/string": "^7.2" + }, + "conflict": { + "symfony/dependency-injection": "<6.4", + "symfony/dotenv": "<6.4", + "symfony/event-dispatcher": "<6.4", + "symfony/lock": "<6.4", + "symfony/process": "<6.4" + }, + "provide": { + "psr/log-implementation": "1.0|2.0|3.0" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^6.4|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/event-dispatcher": "^6.4|^7.0", + "symfony/http-foundation": "^6.4|^7.0", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/lock": "^6.4|^7.0", + "symfony/messenger": "^6.4|^7.0", + "symfony/process": "^6.4|^7.0", + "symfony/stopwatch": "^6.4|^7.0", + "symfony/var-dumper": "^6.4|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Eases the creation of beautiful and testable command line interfaces", + "homepage": "https://symfony.com", + "keywords": [ + "cli", + "command-line", + "console", + "terminal" + ], + "support": { + "source": "https://github.com/symfony/console/tree/v7.3.6" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-11-04T01:21:42+00:00" + }, + { + "name": "symfony/filesystem", + "version": "v7.3.6", + "source": { + "type": "git", + "url": "https://github.com/symfony/filesystem.git", + "reference": "e9bcfd7837928ab656276fe00464092cc9e1826a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/e9bcfd7837928ab656276fe00464092cc9e1826a", + "reference": "e9bcfd7837928ab656276fe00464092cc9e1826a", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-mbstring": "~1.8" + }, + "require-dev": { + "symfony/process": "^6.4|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Filesystem\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides basic utilities for the filesystem", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/filesystem/tree/v7.3.6" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-11-05T09:52:27+00:00" + }, + { + "name": "symfony/finder", + "version": "v7.3.5", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "9f696d2f1e340484b4683f7853b273abff94421f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/9f696d2f1e340484b4683f7853b273abff94421f", + "reference": "9f696d2f1e340484b4683f7853b273abff94421f", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "require-dev": { + "symfony/filesystem": "^6.4|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Finder\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Finds files and directories via an intuitive fluent interface", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/finder/tree/v7.3.5" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-10-15T18:45:57+00:00" + }, + { + "name": "symfony/options-resolver", + "version": "v7.3.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/options-resolver.git", + "reference": "0ff2f5c3df08a395232bbc3c2eb7e84912df911d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/0ff2f5c3df08a395232bbc3c2eb7e84912df911d", + "reference": "0ff2f5c3df08a395232bbc3c2eb7e84912df911d", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\OptionsResolver\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides an improved replacement for the array_replace PHP function", + "homepage": "https://symfony.com", + "keywords": [ + "config", + "configuration", + "options" + ], + "support": { + "source": "https://github.com/symfony/options-resolver/tree/v7.3.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-08-05T10:16:07+00:00" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638", + "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "provide": { + "ext-ctype": "*" + }, + "suggest": { + "ext-ctype": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for ctype functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "ctype", + "polyfill", + "portable" + ], + "support": { + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-09T11:45:10+00:00" + }, + { + "name": "symfony/polyfill-intl-grapheme", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-grapheme.git", + "reference": "380872130d3a5dd3ace2f4010d95125fde5d5c70" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/380872130d3a5dd3ace2f4010d95125fde5d5c70", + "reference": "380872130d3a5dd3ace2f4010d95125fde5d5c70", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's grapheme_* functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "grapheme", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-06-27T09:58:17+00:00" + }, + { + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "3833d7255cc303546435cb650316bff708a1c75c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c", + "reference": "3833d7255cc303546435cb650316bff708a1c75c", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's Normalizer class and related functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "intl", + "normalizer", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-09T11:45:10+00:00" + }, + { + "name": "symfony/polyfill-php81", + "version": "v1.33.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php81.git", + "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c", + "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php81\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php81/tree/v1.33.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-09T11:45:10+00:00" + }, + { + "name": "symfony/process", + "version": "v7.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/process.git", + "reference": "f24f8f316367b30810810d4eb30c543d7003ff3b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/process/zipball/f24f8f316367b30810810d4eb30c543d7003ff3b", + "reference": "f24f8f316367b30810810d4eb30c543d7003ff3b", + "shasum": "" + }, + "require": { + "php": ">=8.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Process\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Executes commands in sub-processes", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/process/tree/v7.3.4" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-09-11T10:12:26+00:00" + }, + { + "name": "symfony/string", + "version": "v7.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/string.git", + "reference": "f96476035142921000338bad71e5247fbc138872" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/string/zipball/f96476035142921000338bad71e5247fbc138872", + "reference": "f96476035142921000338bad71e5247fbc138872", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-intl-grapheme": "~1.0", + "symfony/polyfill-intl-normalizer": "~1.0", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/translation-contracts": "<2.5" + }, + "require-dev": { + "symfony/emoji": "^7.1", + "symfony/http-client": "^6.4|^7.0", + "symfony/intl": "^6.4|^7.0", + "symfony/translation-contracts": "^2.5|^3.0", + "symfony/var-exporter": "^6.4|^7.0" + }, + "type": "library", + "autoload": { + "files": [ + "Resources/functions.php" + ], + "psr-4": { + "Symfony\\Component\\String\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", + "homepage": "https://symfony.com", + "keywords": [ + "grapheme", + "i18n", + "string", + "unicode", + "utf-8", + "utf8" + ], + "support": { + "source": "https://github.com/symfony/string/tree/v7.3.4" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-09-11T14:36:48+00:00" + }, + { + "name": "textalk/websocket", + "version": "1.5.8", + "source": { + "type": "git", + "url": "https://github.com/Textalk/websocket-php.git", + "reference": "d05dbaa97500176447ffb1f1800573f23085ab13" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Textalk/websocket-php/zipball/d05dbaa97500176447ffb1f1800573f23085ab13", + "reference": "d05dbaa97500176447ffb1f1800573f23085ab13", + "shasum": "" + }, + "require": { + "php": "^7.2 | ^8.0", + "psr/log": "^1 | ^2 | ^3" + }, + "require-dev": { + "php-coveralls/php-coveralls": "^2.0", + "phpunit/phpunit": "^8.0|^9.0", + "squizlabs/php_codesniffer": "^3.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "WebSocket\\": "lib" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "ISC" + ], + "authors": [ + { + "name": "Fredrik Liljegren" + }, + { + "name": "Sören Jensen", + "email": "soren@abicart.se" + } + ], + "description": "WebSocket client and server", + "support": { + "issues": "https://github.com/Textalk/websocket-php/issues", + "source": "https://github.com/Textalk/websocket-php/tree/1.5.8" + }, + "time": "2022-04-26T06:28:24+00:00" + }, + { + "name": "theseer/tokenizer", + "version": "1.3.1", + "source": { + "type": "git", + "url": "https://github.com/theseer/tokenizer.git", + "reference": "b7489ce515e168639d17feec34b8847c326b0b3c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/b7489ce515e168639d17feec34b8847c326b0b3c", + "reference": "b7489ce515e168639d17feec34b8847c326b0b3c", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": "^7.2 || ^8.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + } + ], + "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", + "support": { + "issues": "https://github.com/theseer/tokenizer/issues", + "source": "https://github.com/theseer/tokenizer/tree/1.3.1" + }, + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2025-11-17T20:03:58+00:00" + }, + { + "name": "twig/twig", + "version": "v3.14.2", + "source": { + "type": "git", + "url": "https://github.com/twigphp/Twig.git", + "reference": "0b6f9d8370bb3b7f1ce5313ed8feb0fafd6e399a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/0b6f9d8370bb3b7f1ce5313ed8feb0fafd6e399a", + "reference": "0b6f9d8370bb3b7f1ce5313ed8feb0fafd6e399a", + "shasum": "" + }, + "require": { + "php": ">=8.0.2", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-ctype": "^1.8", + "symfony/polyfill-mbstring": "^1.3", + "symfony/polyfill-php81": "^1.29" + }, + "require-dev": { + "psr/container": "^1.0|^2.0", + "symfony/phpunit-bridge": "^5.4.9|^6.4|^7.0" + }, + "type": "library", + "autoload": { + "files": [ + "src/Resources/core.php", + "src/Resources/debug.php", + "src/Resources/escaper.php", + "src/Resources/string_loader.php" + ], + "psr-4": { + "Twig\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com", + "homepage": "http://fabien.potencier.org", + "role": "Lead Developer" + }, + { + "name": "Twig Team", + "role": "Contributors" + }, + { + "name": "Armin Ronacher", + "email": "armin.ronacher@active-4.com", + "role": "Project Founder" + } + ], + "description": "Twig, the flexible, fast, and secure template language for PHP", + "homepage": "https://twig.symfony.com", + "keywords": [ + "templating" + ], + "support": { + "issues": "https://github.com/twigphp/Twig/issues", + "source": "https://github.com/twigphp/Twig/tree/v3.14.2" + }, + "funding": [ + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/twig/twig", + "type": "tidelift" + } + ], + "time": "2024-11-07T12:36:22+00:00" + }, + { + "name": "webmozart/glob", + "version": "4.7.0", + "source": { + "type": "git", + "url": "https://github.com/webmozarts/glob.git", + "reference": "8a2842112d6916e61e0e15e316465b611f3abc17" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozarts/glob/zipball/8a2842112d6916e61e0e15e316465b611f3abc17", + "reference": "8a2842112d6916e61e0e15e316465b611f3abc17", + "shasum": "" + }, + "require": { + "php": "^7.3 || ^8.0.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.5", + "symfony/filesystem": "^5.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Webmozart\\Glob\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "A PHP implementation of Ant's glob.", + "support": { + "issues": "https://github.com/webmozarts/glob/issues", + "source": "https://github.com/webmozarts/glob/tree/4.7.0" + }, + "time": "2024-03-07T20:33:40+00:00" + } + ], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": [], + "prefer-stable": false, + "prefer-lowest": false, + "platform": { + "php": ">=8.3.0", + "ext-curl": "*", + "ext-imagick": "*", + "ext-mbstring": "*", + "ext-json": "*", + "ext-yaml": "*", + "ext-dom": "*", + "ext-redis": "*", + "ext-swoole": "*", + "ext-pdo": "*", + "ext-openssl": "*", + "ext-zlib": "*", + "ext-sockets": "*" + }, + "platform-dev": { + "ext-fileinfo": "*" + }, + "platform-overrides": { + "php": "8.3" + }, + "plugin-api-version": "2.2.0" +} From 830eda746055e4080a1a3e6146b8b6221ed05f0c Mon Sep 17 00:00:00 2001 From: shimon Date: Wed, 26 Nov 2025 17:34:44 +0200 Subject: [PATCH 004/220] Refactor: Update functions to include Authorization parameter and enable stopOnFailure in PHPUnit configuration --- app/controllers/api/vcs.php | 2 +- phpunit.xml | 2 +- src/Appwrite/Platform/Modules/Compute/Base.php | 12 ++++++------ .../Modules/Functions/Http/Deployments/Create.php | 7 +++++-- .../Functions/Http/Deployments/Template/Create.php | 9 ++++++--- .../Functions/Http/Deployments/Vcs/Create.php | 5 ++++- .../Modules/Functions/Http/Functions/Create.php | 1 + .../Modules/Functions/Http/Functions/Update.php | 2 +- .../Modules/Sites/Http/Deployments/Create.php | 2 +- .../Sites/Http/Deployments/Template/Create.php | 2 +- .../Platform/Modules/Sites/Http/Sites/Update.php | 6 ++++-- 11 files changed, 31 insertions(+), 19 deletions(-) diff --git a/app/controllers/api/vcs.php b/app/controllers/api/vcs.php index 829d8e4176..4a36616f2a 100644 --- a/app/controllers/api/vcs.php +++ b/app/controllers/api/vcs.php @@ -434,7 +434,7 @@ $createGitDeployments = function (GitHub $github, string $providerInstallationId } } - ComputeBase::updateEmptyManualRule($project, $resource, $deployment, $dbForPlatform); + ComputeBase::updateEmptyManualRule($project, $resource, $deployment, $dbForPlatform, $authorization); if ($resource->getCollection() === 'sites' && !empty($latestCommentId) && !empty($previewRuleId)) { $retries = 0; diff --git a/phpunit.xml b/phpunit.xml index a8578995c1..215ee2d59d 100644 --- a/phpunit.xml +++ b/phpunit.xml @@ -6,7 +6,7 @@ convertNoticesToExceptions="true" convertWarningsToExceptions="true" processIsolation="false" - stopOnFailure="false" + stopOnFailure="true" > diff --git a/src/Appwrite/Platform/Modules/Compute/Base.php b/src/Appwrite/Platform/Modules/Compute/Base.php index 78c2492a9b..c7bb9d2de6 100644 --- a/src/Appwrite/Platform/Modules/Compute/Base.php +++ b/src/Appwrite/Platform/Modules/Compute/Base.php @@ -53,7 +53,7 @@ class Base extends Action return $allowedSpecifications[0] ?? APP_COMPUTE_SPECIFICATION_DEFAULT; } - public function redeployVcsFunction(Request $request, Document $function, Document $project, Document $installation, Database $dbForProject, Database $dbForPlatform, Build $queueForBuilds, Document $template, GitHub $github, bool $activate, string $referenceType = 'branch', string $reference = ''): Document + public function redeployVcsFunction(Request $request, Document $function, Document $project, Document $installation, Database $dbForProject, Database $dbForPlatform, Build $queueForBuilds, Document $template, GitHub $github, bool $activate, Authorization $authorization, string $referenceType = 'branch', string $reference = ''): Document { $deploymentId = ID::unique(); $entrypoint = $function->getAttribute('entrypoint', ''); @@ -134,7 +134,7 @@ class Base extends Action ->setAttribute('latestDeploymentStatus', $deployment->getAttribute('status', '')); $dbForProject->updateDocument('functions', $function->getId(), $function); - $this->updateEmptyManualRule($project, $function, $deployment, $dbForPlatform); + $this->updateEmptyManualRule($project, $function, $deployment, $dbForPlatform, $authorization); $queueForBuilds ->setType(BUILD_TYPE_DEPLOYMENT) @@ -330,7 +330,7 @@ class Base extends Action } } - $this->updateEmptyManualRule($project, $site, $deployment, $dbForPlatform); + $this->updateEmptyManualRule($project, $site, $deployment, $dbForPlatform, $authorization); $queueForBuilds ->setType(BUILD_TYPE_DEPLOYMENT) @@ -351,7 +351,7 @@ class Base extends Action * @param \Utopia\Database\Database $dbForPlatform * @return void */ - public static function updateEmptyManualRule(Document $project, Document $resource, Document $deployment, Database $dbForPlatform) + public static function updateEmptyManualRule(Document $project, Document $resource, Document $deployment, Database $dbForPlatform, Authorization $authorization) { $resourceType = $resource->getCollection() === 'sites' ? 'site' : 'function'; @@ -363,8 +363,8 @@ class Base extends Action Query::equal('type', ['deployment']), Query::equal('trigger', ['manual']), ]; - $dbForPlatform->forEach('rules', function (Document $rule) use ($deployment, $dbForPlatform) { - Authorization::skip(fn () => $dbForPlatform->updateDocument('rules', $rule->getId(), new Document([ + $dbForPlatform->forEach('rules', function (Document $rule) use ($deployment, $dbForPlatform, $authorization) { + $authorization->skip(fn () => $dbForPlatform->updateDocument('rules', $rule->getId(), new Document([ 'deploymentId' => $deployment->getId(), 'deploymentInternalId' => $deployment->getSequence(), ]))); diff --git a/src/Appwrite/Platform/Modules/Functions/Http/Deployments/Create.php b/src/Appwrite/Platform/Modules/Functions/Http/Deployments/Create.php index d56b0d4d8f..c848be405b 100644 --- a/src/Appwrite/Platform/Modules/Functions/Http/Deployments/Create.php +++ b/src/Appwrite/Platform/Modules/Functions/Http/Deployments/Create.php @@ -18,6 +18,7 @@ use Utopia\Database\Helpers\ID; use Utopia\Database\Helpers\Permission; use Utopia\Database\Helpers\Role; use Utopia\Database\Query; +use Utopia\Database\Validator\Authorization; use Utopia\Database\Validator\UID; use Utopia\Platform\Action; use Utopia\Platform\Scope\HTTP; @@ -90,6 +91,7 @@ class Create extends Base ->inject('deviceForLocal') ->inject('queueForBuilds') ->inject('plan') + ->inject('authorization') ->callback($this->action(...)); } @@ -108,7 +110,8 @@ class Create extends Base Device $deviceForFunctions, Device $deviceForLocal, Build $queueForBuilds, - array $plan + array $plan, + Authorization $authorization ) { $activate = \strval($activate) === 'true' || \strval($activate) === '1'; @@ -304,7 +307,7 @@ class Create extends Base } } - $this->updateEmptyManualRule($project, $function, $deployment, $dbForPlatform); + $this->updateEmptyManualRule($project, $function, $deployment, $dbForPlatform, $authorization); $metadata = null; diff --git a/src/Appwrite/Platform/Modules/Functions/Http/Deployments/Template/Create.php b/src/Appwrite/Platform/Modules/Functions/Http/Deployments/Template/Create.php index 19e1653dcb..369defac3e 100644 --- a/src/Appwrite/Platform/Modules/Functions/Http/Deployments/Template/Create.php +++ b/src/Appwrite/Platform/Modules/Functions/Http/Deployments/Template/Create.php @@ -77,6 +77,7 @@ class Create extends Base ->inject('project') ->inject('queueForBuilds') ->inject('gitHub') + ->inject('authorization') ->callback($this->action(...)); } @@ -95,7 +96,8 @@ class Create extends Base Event $queueForEvents, Document $project, Build $queueForBuilds, - GitHub $github + GitHub $github, + Authorization $authorization ) { $function = $dbForProject->getDocument('functions', $functionId); @@ -128,7 +130,8 @@ class Create extends Base queueForBuilds: $queueForBuilds, template: $template, github: $github, - activate: $activate + activate: $activate, + authorization: $authorization ); $queueForEvents @@ -172,7 +175,7 @@ class Create extends Base $dbForProject->updateDocument('functions', $function->getId(), $function); - $this->updateEmptyManualRule($project, $function, $deployment, $dbForPlatform); + $this->updateEmptyManualRule($project, $function, $deployment, $dbForPlatform, $authorization); $queueForBuilds ->setType(BUILD_TYPE_DEPLOYMENT) diff --git a/src/Appwrite/Platform/Modules/Functions/Http/Deployments/Vcs/Create.php b/src/Appwrite/Platform/Modules/Functions/Http/Deployments/Vcs/Create.php index 79e2e215ad..9a252491e2 100644 --- a/src/Appwrite/Platform/Modules/Functions/Http/Deployments/Vcs/Create.php +++ b/src/Appwrite/Platform/Modules/Functions/Http/Deployments/Vcs/Create.php @@ -72,6 +72,7 @@ class Create extends Base ->inject('queueForEvents') ->inject('queueForBuilds') ->inject('gitHub') + ->inject('authorization') ->callback($this->action(...)); } @@ -87,7 +88,8 @@ class Create extends Base Document $project, Event $queueForEvents, Build $queueForBuilds, - GitHub $github + GitHub $github, + Authorization $authorization ) { $function = $dbForProject->getDocument('functions', $functionId); @@ -110,6 +112,7 @@ class Create extends Base template: $template, github: $github, activate: $activate, + authorization: $authorization, reference: $reference, referenceType: $type ); diff --git a/src/Appwrite/Platform/Modules/Functions/Http/Functions/Create.php b/src/Appwrite/Platform/Modules/Functions/Http/Functions/Create.php index 9273979933..558d3a01aa 100644 --- a/src/Appwrite/Platform/Modules/Functions/Http/Functions/Create.php +++ b/src/Appwrite/Platform/Modules/Functions/Http/Functions/Create.php @@ -319,6 +319,7 @@ class Create extends Base template: $template, github: $github, activate: true, + authorization: $authorization, reference: $providerBranch, referenceType: 'branch' ); diff --git a/src/Appwrite/Platform/Modules/Functions/Http/Functions/Update.php b/src/Appwrite/Platform/Modules/Functions/Http/Functions/Update.php index 7a4f194f9d..2338c5ce45 100644 --- a/src/Appwrite/Platform/Modules/Functions/Http/Functions/Update.php +++ b/src/Appwrite/Platform/Modules/Functions/Http/Functions/Update.php @@ -275,7 +275,7 @@ class Update extends Base // Redeploy logic if (!$isConnected && !empty($providerRepositoryId)) { - $this->redeployVcsFunction($request, $function, $project, $installation, $dbForProject, $dbForPlatform, $queueForBuilds, new Document(), $github, true); + $this->redeployVcsFunction($request, $function, $project, $installation, $dbForProject, $dbForPlatform, $queueForBuilds, new Document(), $github, true, $authorization); } // Inform scheduler if function is still active diff --git a/src/Appwrite/Platform/Modules/Sites/Http/Deployments/Create.php b/src/Appwrite/Platform/Modules/Sites/Http/Deployments/Create.php index 197e22a4fc..c24daa3df2 100644 --- a/src/Appwrite/Platform/Modules/Sites/Http/Deployments/Create.php +++ b/src/Appwrite/Platform/Modules/Sites/Http/Deployments/Create.php @@ -368,7 +368,7 @@ class Create extends Base } } - $this->updateEmptyManualRule($project, $site, $deployment, $dbForPlatform); + $this->updateEmptyManualRule($project, $site, $deployment, $dbForPlatform, $authorization); $metadata = null; diff --git a/src/Appwrite/Platform/Modules/Sites/Http/Deployments/Template/Create.php b/src/Appwrite/Platform/Modules/Sites/Http/Deployments/Template/Create.php index fb40d21fca..4f35104ed2 100644 --- a/src/Appwrite/Platform/Modules/Sites/Http/Deployments/Template/Create.php +++ b/src/Appwrite/Platform/Modules/Sites/Http/Deployments/Template/Create.php @@ -211,7 +211,7 @@ class Create extends Base ])) ); - $this->updateEmptyManualRule($project, $site, $deployment, $dbForPlatform); + $this->updateEmptyManualRule($project, $site, $deployment, $dbForPlatform, $authorization); $queueForBuilds ->setType(BUILD_TYPE_DEPLOYMENT) diff --git a/src/Appwrite/Platform/Modules/Sites/Http/Sites/Update.php b/src/Appwrite/Platform/Modules/Sites/Http/Sites/Update.php index 61d59d4da0..6a5c72ce07 100644 --- a/src/Appwrite/Platform/Modules/Sites/Http/Sites/Update.php +++ b/src/Appwrite/Platform/Modules/Sites/Http/Sites/Update.php @@ -97,6 +97,7 @@ class Update extends Base ->inject('dbForPlatform') ->inject('gitHub') ->inject('executor') + ->inject('authorization') ->callback($this->action(...)); } @@ -127,7 +128,8 @@ class Update extends Base Build $queueForBuilds, Database $dbForPlatform, GitHub $github, - Executor $executor + Executor $executor, + Authorization $authorization ) { if (!empty($adapter)) { $configFramework = Config::getParam('frameworks')[$framework] ?? []; @@ -272,7 +274,7 @@ class Update extends Base // Redeploy logic if (!$isConnected && !empty($providerRepositoryId)) { - $this->redeployVcsFunction($request, $site, $project, $installation, $dbForProject, $dbForPlatform, $queueForBuilds, new Document(), $github, true); + $this->redeployVcsFunction($request, $site, $project, $installation, $dbForProject, $dbForPlatform, $queueForBuilds, new Document(), $github, true, $authorization); } $queueForEvents->setParam('siteId', $site->getId()); From 4dc4cc2c119af87003216c6b1b7f46884ea2c459 Mon Sep 17 00:00:00 2001 From: shimon Date: Wed, 26 Nov 2025 17:39:31 +0200 Subject: [PATCH 005/220] Update PHPUnit configuration to disable stopOnFailure --- phpunit.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/phpunit.xml b/phpunit.xml index 215ee2d59d..a8578995c1 100644 --- a/phpunit.xml +++ b/phpunit.xml @@ -6,7 +6,7 @@ convertNoticesToExceptions="true" convertWarningsToExceptions="true" processIsolation="false" - stopOnFailure="true" + stopOnFailure="false" > From c2ea1b5877dfad6eeb4ecdf4b301f9edd77f8b4d Mon Sep 17 00:00:00 2001 From: shimon Date: Wed, 26 Nov 2025 19:52:17 +0200 Subject: [PATCH 006/220] Add referenceType and reference parameters to Create deployment template --- .../Modules/Functions/Http/Deployments/Template/Create.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Appwrite/Platform/Modules/Functions/Http/Deployments/Template/Create.php b/src/Appwrite/Platform/Modules/Functions/Http/Deployments/Template/Create.php index 369defac3e..947523b220 100644 --- a/src/Appwrite/Platform/Modules/Functions/Http/Deployments/Template/Create.php +++ b/src/Appwrite/Platform/Modules/Functions/Http/Deployments/Template/Create.php @@ -15,6 +15,7 @@ use Utopia\Database\Document; use Utopia\Database\Helpers\ID; use Utopia\Database\Helpers\Permission; use Utopia\Database\Helpers\Role; +use Utopia\Database\Validator\Authorization; use Utopia\Database\Validator\UID; use Utopia\Platform\Action; use Utopia\Platform\Scope\HTTP; @@ -131,7 +132,9 @@ class Create extends Base template: $template, github: $github, activate: $activate, - authorization: $authorization + authorization: $authorization, + referenceType: $type, + reference: $reference ); $queueForEvents From 1bfd413040d6628d31caa1d425024028f19d7f08 Mon Sep 17 00:00:00 2001 From: shimon Date: Wed, 26 Nov 2025 22:32:30 +0200 Subject: [PATCH 007/220] Remove unnecessary authorization injection from StatsResources class --- src/Appwrite/Platform/Tasks/StatsResources.php | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Appwrite/Platform/Tasks/StatsResources.php b/src/Appwrite/Platform/Tasks/StatsResources.php index 87d4858351..6d04d2109a 100644 --- a/src/Appwrite/Platform/Tasks/StatsResources.php +++ b/src/Appwrite/Platform/Tasks/StatsResources.php @@ -44,7 +44,6 @@ class StatsResources extends Action ->inject('dbForPlatform') ->inject('logError') ->inject('queueForStatsResources') - ->inject('authorization') ->callback($this->action(...)); } From 81c2ff501b30ec28186785ea33d2cc4f69285c7f Mon Sep 17 00:00:00 2001 From: shimon Date: Thu, 27 Nov 2025 11:26:53 +0200 Subject: [PATCH 008/220] Refactor: Adjust parameter order in getUserGitHub function calls for consistency --- app/controllers/api/avatars.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/controllers/api/avatars.php b/app/controllers/api/avatars.php index 544e22a0fa..b2e90d959f 100644 --- a/app/controllers/api/avatars.php +++ b/app/controllers/api/avatars.php @@ -854,7 +854,7 @@ App::get('/v1/cards/cloud') $email = $user->getAttribute('email', ''); $createdAt = new \DateTime($user->getCreatedAt()); - $gitHub = $getUserGitHub($user->getId(), $project, $dbForProject, $dbForPlatform, $logger, $authorization); + $gitHub = $getUserGitHub($user->getId(), $project, $dbForProject, $dbForPlatform, $authorization, $logger); $githubName = $gitHub['name'] ?? ''; $githubId = $gitHub['id'] ?? ''; @@ -1061,7 +1061,7 @@ App::get('/v1/cards/cloud-back') $userId = $user->getId(); $email = $user->getAttribute('email', ''); - $gitHub = $getUserGitHub($user->getId(), $project, $dbForProject, $dbForPlatform, $logger, $authorization); + $gitHub = $getUserGitHub($user->getId(), $project, $dbForProject, $dbForPlatform, $authorization, $logger); $githubId = $gitHub['id'] ?? ''; $isHero = \array_key_exists($email, $heroes); @@ -1145,7 +1145,7 @@ App::get('/v1/cards/cloud-og') $email = $user->getAttribute('email', ''); $createdAt = new \DateTime($user->getCreatedAt()); - $gitHub = $getUserGitHub($user->getId(), $project, $dbForProject, $dbForPlatform, $logger, $authorization); + $gitHub = $getUserGitHub($user->getId(), $project, $dbForProject, $dbForPlatform, $authorization, $logger); $githubName = $gitHub['name'] ?? ''; $githubId = $gitHub['id'] ?? ''; From 35e3294dc40e485b818dc3911755801bb434dec0 Mon Sep 17 00:00:00 2001 From: shimon Date: Thu, 27 Nov 2025 11:51:53 +0200 Subject: [PATCH 009/220] teams update --- app/controllers/api/teams.php | 77 ++++++++++++++++++----------------- 1 file changed, 40 insertions(+), 37 deletions(-) diff --git a/app/controllers/api/teams.php b/app/controllers/api/teams.php index 4b8c543e5d..d992672938 100644 --- a/app/controllers/api/teams.php +++ b/app/controllers/api/teams.php @@ -575,44 +575,47 @@ App::post('/v1/teams/:teamId/memberships') $emailCanonical = null; } + $userId = ID::unique(); + + $userDocument = new Document([ + '$id' => $userId, + '$permissions' => [ + Permission::read(Role::any()), + Permission::read(Role::user($userId)), + Permission::update(Role::user($userId)), + Permission::delete(Role::user($userId)), + ], + 'email' => empty($email) ? null : $email, + 'phone' => empty($phone) ? null : $phone, + 'emailVerification' => false, + 'status' => true, + // TODO: Set password empty? + 'password' => Auth::passwordHash(Auth::passwordGenerator(), Auth::DEFAULT_ALGO, Auth::DEFAULT_ALGO_OPTIONS), + 'hash' => Auth::DEFAULT_ALGO, + 'hashOptions' => Auth::DEFAULT_ALGO_OPTIONS, + /** + * Set the password update time to 0 for users created using + * team invite and OAuth to allow password updates without an + * old password + */ + 'passwordUpdate' => null, + 'registration' => DateTime::now(), + 'reset' => false, + 'name' => $name, + 'prefs' => new \stdClass(), + 'sessions' => null, + 'tokens' => null, + 'memberships' => null, + 'search' => implode(' ', [$userId, $email, $name]), + 'emailCanonical' => $emailCanonical?->getCanonical(), + 'emailIsCanonical' => $emailCanonical?->isCanonicalSupported(), + 'emailIsCorporate' => $emailCanonical?->isCorporate(), + 'emailIsDisposable' => $emailCanonical?->isDisposable(), + 'emailIsFree' => $emailCanonical?->isFree(), + ]); + try { - $userId = ID::unique(); - $invitee = $authorization->skip(fn () => $dbForProject->createDocument('users', new Document([ - '$id' => $userId, - '$permissions' => [ - Permission::read(Role::any()), - Permission::read(Role::user($userId)), - Permission::update(Role::user($userId)), - Permission::delete(Role::user($userId)), - ], - 'email' => empty($email) ? null : $email, - 'phone' => empty($phone) ? null : $phone, - 'emailVerification' => false, - 'status' => true, - // TODO: Set password empty? - 'password' => Auth::passwordHash(Auth::passwordGenerator(), Auth::DEFAULT_ALGO, Auth::DEFAULT_ALGO_OPTIONS), - 'hash' => Auth::DEFAULT_ALGO, - 'hashOptions' => Auth::DEFAULT_ALGO_OPTIONS, - /** - * Set the password update time to 0 for users created using - * team invite and OAuth to allow password updates without an - * old password - */ - 'passwordUpdate' => null, - 'registration' => DateTime::now(), - 'reset' => false, - 'name' => $name, - 'prefs' => new \stdClass(), - 'sessions' => null, - 'tokens' => null, - 'memberships' => null, - 'search' => implode(' ', [$userId, $email, $name]), - 'emailCanonical' => $emailCanonical?->getCanonical(), - 'emailIsCanonical' => $emailCanonical?->isCanonicalSupported(), - 'emailIsCorporate' => $emailCanonical?->isCorporate(), - 'emailIsDisposable' => $emailCanonical?->isDisposable(), - 'emailIsFree' => $emailCanonical?->isFree(), - ]))); + $invitee = Authorization::skip(fn () => $dbForProject->createDocument('users', $userDocument)); } catch (Duplicate $th) { throw new Exception(Exception::USER_ALREADY_EXISTS); } From fb95a05599bcf1aa4a429ea3eaad1dd375b0bae3 Mon Sep 17 00:00:00 2001 From: shimon Date: Thu, 27 Nov 2025 12:13:07 +0200 Subject: [PATCH 010/220] teams update --- app/controllers/api/teams.php | 80 ++++---- composer.lock | 136 ++++++------- .../Utopia/Database/Documents/User.php | 182 ++++++++++++++++++ 3 files changed, 292 insertions(+), 106 deletions(-) create mode 100644 src/Appwrite/Utopia/Database/Documents/User.php diff --git a/app/controllers/api/teams.php b/app/controllers/api/teams.php index d992672938..72120c6df0 100644 --- a/app/controllers/api/teams.php +++ b/app/controllers/api/teams.php @@ -1,6 +1,5 @@ inject('queueForEvents') ->action(function (string $teamId, string $name, array $roles, Response $response, Document $user, Database $dbForProject, Authorization $authorization, Event $queueForEvents) { - $isPrivilegedUser = Auth::isPrivilegedUser($authorization->getRoles()); - $isAppUser = Auth::isAppUser($authorization->getRoles()); + $isPrivilegedUser = User::isPrivilegedUser($authorization->getRoles()); + $isAppUser = User::isAppUser($authorization->getRoles()); $teamId = $teamId == 'unique()' ? ID::unique() : $teamId; @@ -177,6 +180,7 @@ App::get('/v1/teams') ->inject('dbForProject') ->action(function (array $queries, string $search, bool $includeTotal, Response $response, Database $dbForProject) { + try { $queries = Query::parseQueries($queries); } catch (QueryException $e) { @@ -475,10 +479,9 @@ App::post('/v1/teams/:teamId/memberships') ->param('phone', '', new Phone(), 'Phone number. Format this number with a leading \'+\' and a country code, e.g., +16175551212.', true) ->param('roles', [], function (Document $project) { if ($project->getId() === 'console') { - ; $roles = array_keys(Config::getParam('roles', [])); - array_filter($roles, function ($role) { - return !in_array($role, [Auth::USER_ROLE_APPS, Auth::USER_ROLE_GUESTS, Auth::USER_ROLE_USERS]); + $roles = array_filter($roles, function ($role) { + return !in_array($role, [User::ROLE_APPS, User::ROLE_GUESTS, User::ROLE_USERS]); }); return new ArrayList(new WhiteList($roles), APP_LIMIT_ARRAY_PARAMS_SIZE); } @@ -498,9 +501,11 @@ App::post('/v1/teams/:teamId/memberships') ->inject('timelimit') ->inject('queueForStatsUsage') ->inject('plan') - ->action(function (string $teamId, string $email, string $userId, string $phone, array $roles, string $url, string $name, Response $response, Document $project, Document $user, Database $dbForProject, Authorization $authorization, Locale $locale, Mail $queueForMails, Messaging $queueForMessaging, Event $queueForEvents, callable $timelimit, StatsUsage $queueForStatsUsage, array $plan) { - $isAppUser = Auth::isAppUser($authorization->getRoles()); - $isPrivilegedUser = Auth::isPrivilegedUser($authorization->getRoles()); + ->inject('proofForPassword') + ->inject('proofForToken') + ->action(function (string $teamId, string $email, string $userId, string $phone, array $roles, string $url, string $name, Response $response, Document $project, Document $user, Database $dbForProject, Authorization $authorization, Locale $locale, Mail $queueForMails, Messaging $queueForMessaging, Event $queueForEvents, callable $timelimit, StatsUsage $queueForStatsUsage, array $plan, Password $proofForPassword, Token $proofForToken) { + $isAppUser = User::isApp(Authorization::getRoles()); + $isPrivilegedUser = User::isPrivileged(Authorization::getRoles()); $url = htmlentities($url); if (empty($url)) { @@ -570,6 +575,8 @@ App::post('/v1/teams/:teamId/memberships') } try { + $userId = ID::unique(); + $hash = $proofForPassword->hash($proofForPassword->generate()); $emailCanonical = new Email($email); } catch (Throwable) { $emailCanonical = null; @@ -590,9 +597,9 @@ App::post('/v1/teams/:teamId/memberships') 'emailVerification' => false, 'status' => true, // TODO: Set password empty? - 'password' => Auth::passwordHash(Auth::passwordGenerator(), Auth::DEFAULT_ALGO, Auth::DEFAULT_ALGO_OPTIONS), - 'hash' => Auth::DEFAULT_ALGO, - 'hashOptions' => Auth::DEFAULT_ALGO_OPTIONS, + 'password' => $hash, + 'hash' => $proofForPassword->getHash()->getName(), + 'hashOptions' => $proofForPassword->getHash()->getOptions(), /** * Set the password update time to 0 for users created using * team invite and OAuth to allow password updates without an @@ -632,7 +639,7 @@ App::post('/v1/teams/:teamId/memberships') Query::equal('teamInternalId', [$team->getSequence()]), ]); - $secret = Auth::tokenGenerator(); + $secret = $proofForToken->generate(); if ($membership->isEmpty()) { $membershipId = ID::unique(); $membership = new Document([ @@ -652,7 +659,7 @@ App::post('/v1/teams/:teamId/memberships') 'invited' => DateTime::now(), 'joined' => ($isPrivilegedUser || $isAppUser) ? DateTime::now() : null, 'confirm' => ($isPrivilegedUser || $isAppUser), - 'secret' => Auth::hash($secret), + 'secret' => $proofForToken->hash($secret), 'search' => implode(' ', [$membershipId, $invitee->getId()]) ]); @@ -663,9 +670,8 @@ App::post('/v1/teams/:teamId/memberships') if ($isPrivilegedUser || $isAppUser) { $authorization->skip(fn () => $dbForProject->increaseDocumentAttribute('teams', $team->getId(), 'total', 1)); } - } elseif ($membership->getAttribute('confirm') === false) { - $membership->setAttribute('secret', Auth::hash($secret)); + $membership->setAttribute('secret', $proofForToken->hash($secret)); $membership->setAttribute('invited', DateTime::now()); if ($isPrivilegedUser || $isAppUser) { @@ -768,7 +774,6 @@ App::post('/v1/teams/:teamId/memberships') ->setName($invitee->getAttribute('name', '')) ->setVariables($emailVariables) ->trigger(); - } elseif (!empty($phone)) { if (empty(System::getEnv('_APP_SMS_PROVIDER'))) { throw new Exception(Exception::GENERAL_PHONE_DISABLED, 'Phone provider not configured'); @@ -934,7 +939,7 @@ App::get('/v1/teams/:teamId/memberships') $roles = $authorization->getRoles(); $isPrivilegedUser = Auth::isPrivilegedUser($roles); - $isAppUser = Auth::isAppUser($roles); + $isAppUser = User::isAppUser($roles); $membershipsPrivacy = array_map(function ($privacy) use ($isPrivilegedUser, $isAppUser) { return $privacy || $isPrivilegedUser || $isAppUser; @@ -1026,7 +1031,7 @@ App::get('/v1/teams/:teamId/memberships/:membershipId') $roles = $authorization->getRoles(); $isPrivilegedUser = Auth::isPrivilegedUser($roles); - $isAppUser = Auth::isAppUser($roles); + $isAppUser = User::isAppUser($roles); $membershipsPrivacy = array_map(function ($privacy) use ($isPrivilegedUser, $isAppUser) { return $privacy || $isPrivilegedUser || $isAppUser; @@ -1091,8 +1096,8 @@ App::patch('/v1/teams/:teamId/memberships/:membershipId') ->param('roles', [], function (Document $project) { if ($project->getId() === 'console') { $roles = array_keys(Config::getParam('roles', [])); - array_filter($roles, function ($role) { - return !in_array($role, [Auth::USER_ROLE_APPS, Auth::USER_ROLE_GUESTS, Auth::USER_ROLE_USERS]); + $roles = array_filter($roles, function ($role) { + return !in_array($role, [User::ROLE_APPS, User::ROLE_GUESTS, User::ROLE_USERS]); }); return new ArrayList(new WhiteList($roles), APP_LIMIT_ARRAY_PARAMS_SIZE); } @@ -1122,8 +1127,8 @@ App::patch('/v1/teams/:teamId/memberships/:membershipId') throw new Exception(Exception::USER_NOT_FOUND); } - $isPrivilegedUser = Auth::isPrivilegedUser($authorization->getRoles()); - $isAppUser = Auth::isAppUser($authorization->getRoles()); + $isPrivilegedUser = User::isPrivilegedUser($authorization->getRoles()); + $isAppUser = User::isAppUser($authorization->getRoles()); $isOwner = $authorization->hasRole('team:' . $team->getId() . '/owner'); if ($project->getId() === 'console') { @@ -1209,7 +1214,9 @@ App::patch('/v1/teams/:teamId/memberships/:membershipId/status') ->inject('project') ->inject('geodb') ->inject('queueForEvents') - ->action(function (string $teamId, string $membershipId, string $userId, string $secret, Request $request, Response $response, Document $user, Database $dbForProject, Authorization $authorization, Document $project, Reader $geodb, Event $queueForEvents) { + ->inject('store') + ->inject('proofForToken') + ->action(function (string $teamId, string $membershipId, string $userId, string $secret, Request $request, Response $response, Document $user, Database $dbForProject, Authorization $authorization, $project, Reader $geodb, Event $queueForEvents, Store $store, Token $proofForToken) { $protocol = $request->getProtocol(); $membership = $dbForProject->getDocument('memberships', $membershipId); @@ -1228,7 +1235,7 @@ App::patch('/v1/teams/:teamId/memberships/:membershipId/status') throw new Exception(Exception::TEAM_MEMBERSHIP_MISMATCH); } - if (Auth::hash($secret) !== $membership->getAttribute('secret')) { + if (!$proofForToken->verify($secret, $membership->getAttribute('secret'))) { throw new Exception(Exception::TEAM_INVALID_SECRET); } @@ -1262,9 +1269,9 @@ App::patch('/v1/teams/:teamId/memberships/:membershipId/status') $detector = new Detector($request->getUserAgent('UNKNOWN')); $record = $geodb->get($request->getIP()); - $authDuration = $project->getAttribute('auths', [])['duration'] ?? Auth::TOKEN_EXPIRATION_LOGIN_LONG; + $authDuration = $project->getAttribute('auths', [])['duration'] ?? TOKEN_EXPIRATION_LOGIN_LONG; $expire = DateTime::addSeconds(new \DateTime(), $authDuration); - $secret = Auth::tokenGenerator(); + $secret = $proofForToken->generate(); $session = new Document(array_merge([ '$id' => ID::unique(), '$permissions' => [ @@ -1274,9 +1281,9 @@ App::patch('/v1/teams/:teamId/memberships/:membershipId/status') ], 'userId' => $user->getId(), 'userInternalId' => $user->getSequence(), - 'provider' => Auth::SESSION_PROVIDER_EMAIL, + 'provider' => SESSION_PROVIDER_EMAIL, 'providerUid' => $user->getAttribute('email'), - 'secret' => Auth::hash($secret), // One way hash encryption to protect DB leak + 'secret' => $proofForToken->hash($secret), // One way hash encryption to protect DB leak 'userAgent' => $request->getUserAgent('UNKNOWN'), 'ip' => $request->getIP(), 'factors' => ['email'], @@ -1288,14 +1295,19 @@ App::patch('/v1/teams/:teamId/memberships/:membershipId/status') $authorization->addRole(Role::user($userId)->toString()); + $encoded = $store + ->setProperty('id', $user->getId()) + ->setProperty('secret', $secret) + ->encode(); + if (!Config::getParam('domainVerification')) { - $response->addHeader('X-Fallback-Cookies', \json_encode([Auth::$cookieName => Auth::encodeSession($user->getId(), $secret)])); + $response->addHeader('X-Fallback-Cookies', \json_encode([$store->getKey() => $encoded])); } $response ->addCookie( - name: Auth::$cookieName . '_legacy', - value: Auth::encodeSession($user->getId(), $secret), + name: $store->getKey() . '_legacy', + value: $encoded, expire: (new \DateTime($expire))->getTimestamp(), path: '/', domain: Config::getParam('cookieDomain'), @@ -1303,8 +1315,8 @@ App::patch('/v1/teams/:teamId/memberships/:membershipId/status') httponly: true ) ->addCookie( - name: Auth::$cookieName, - value: Auth::encodeSession($user->getId(), $secret), + name: $store->getKey(), + value: $encoded, expire: (new \DateTime($expire))->getTimestamp(), path: '/', domain: Config::getParam('cookieDomain'), diff --git a/composer.lock b/composer.lock index 2eac78f02e..045e53ea85 100644 --- a/composer.lock +++ b/composer.lock @@ -7874,47 +7874,39 @@ }, { "name": "symfony/console", - "version": "v7.3.6", + "version": "v8.0.0", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "c28ad91448f86c5f6d9d2c70f0cf68bf135f252a" + "reference": "307d3cf852f5ead3618ac60ecbedbdd512c348b1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/c28ad91448f86c5f6d9d2c70f0cf68bf135f252a", - "reference": "c28ad91448f86c5f6d9d2c70f0cf68bf135f252a", + "url": "https://api.github.com/repos/symfony/console/zipball/307d3cf852f5ead3618ac60ecbedbdd512c348b1", + "reference": "307d3cf852f5ead3618ac60ecbedbdd512c348b1", "shasum": "" }, "require": { - "php": ">=8.2", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/polyfill-mbstring": "~1.0", + "php": ">=8.4", + "symfony/polyfill-mbstring": "^1.0", "symfony/service-contracts": "^2.5|^3", - "symfony/string": "^7.2" - }, - "conflict": { - "symfony/dependency-injection": "<6.4", - "symfony/dotenv": "<6.4", - "symfony/event-dispatcher": "<6.4", - "symfony/lock": "<6.4", - "symfony/process": "<6.4" + "symfony/string": "^7.4|^8.0" }, "provide": { "psr/log-implementation": "1.0|2.0|3.0" }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/config": "^6.4|^7.0", - "symfony/dependency-injection": "^6.4|^7.0", - "symfony/event-dispatcher": "^6.4|^7.0", - "symfony/http-foundation": "^6.4|^7.0", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/lock": "^6.4|^7.0", - "symfony/messenger": "^6.4|^7.0", - "symfony/process": "^6.4|^7.0", - "symfony/stopwatch": "^6.4|^7.0", - "symfony/var-dumper": "^6.4|^7.0" + "symfony/config": "^7.4|^8.0", + "symfony/dependency-injection": "^7.4|^8.0", + "symfony/event-dispatcher": "^7.4|^8.0", + "symfony/http-foundation": "^7.4|^8.0", + "symfony/http-kernel": "^7.4|^8.0", + "symfony/lock": "^7.4|^8.0", + "symfony/messenger": "^7.4|^8.0", + "symfony/process": "^7.4|^8.0", + "symfony/stopwatch": "^7.4|^8.0", + "symfony/var-dumper": "^7.4|^8.0" }, "type": "library", "autoload": { @@ -7948,7 +7940,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v7.3.6" + "source": "https://github.com/symfony/console/tree/v8.0.0" }, "funding": [ { @@ -7968,29 +7960,29 @@ "type": "tidelift" } ], - "time": "2025-11-04T01:21:42+00:00" + "time": "2025-11-21T13:19:49+00:00" }, { "name": "symfony/filesystem", - "version": "v7.3.6", + "version": "v8.0.0", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "e9bcfd7837928ab656276fe00464092cc9e1826a" + "reference": "7fc96ae83372620eaba3826874f46e26295768ca" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/e9bcfd7837928ab656276fe00464092cc9e1826a", - "reference": "e9bcfd7837928ab656276fe00464092cc9e1826a", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/7fc96ae83372620eaba3826874f46e26295768ca", + "reference": "7fc96ae83372620eaba3826874f46e26295768ca", "shasum": "" }, "require": { - "php": ">=8.2", + "php": ">=8.4", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-mbstring": "~1.8" }, "require-dev": { - "symfony/process": "^6.4|^7.0" + "symfony/process": "^7.4|^8.0" }, "type": "library", "autoload": { @@ -8018,7 +8010,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v7.3.6" + "source": "https://github.com/symfony/filesystem/tree/v8.0.0" }, "funding": [ { @@ -8038,27 +8030,27 @@ "type": "tidelift" } ], - "time": "2025-11-05T09:52:27+00:00" + "time": "2025-11-05T14:36:47+00:00" }, { "name": "symfony/finder", - "version": "v7.3.5", + "version": "v8.0.0", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "9f696d2f1e340484b4683f7853b273abff94421f" + "reference": "7598dd5770580fa3517ec83e8da0c9b9e01f4291" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/9f696d2f1e340484b4683f7853b273abff94421f", - "reference": "9f696d2f1e340484b4683f7853b273abff94421f", + "url": "https://api.github.com/repos/symfony/finder/zipball/7598dd5770580fa3517ec83e8da0c9b9e01f4291", + "reference": "7598dd5770580fa3517ec83e8da0c9b9e01f4291", "shasum": "" }, "require": { - "php": ">=8.2" + "php": ">=8.4" }, "require-dev": { - "symfony/filesystem": "^6.4|^7.0" + "symfony/filesystem": "^7.4|^8.0" }, "type": "library", "autoload": { @@ -8086,7 +8078,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v7.3.5" + "source": "https://github.com/symfony/finder/tree/v8.0.0" }, "funding": [ { @@ -8106,24 +8098,24 @@ "type": "tidelift" } ], - "time": "2025-10-15T18:45:57+00:00" + "time": "2025-11-05T14:36:47+00:00" }, { "name": "symfony/options-resolver", - "version": "v7.3.3", + "version": "v8.0.0", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", - "reference": "0ff2f5c3df08a395232bbc3c2eb7e84912df911d" + "reference": "d2b592535ffa6600c265a3893a7f7fd2bad82dd7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/0ff2f5c3df08a395232bbc3c2eb7e84912df911d", - "reference": "0ff2f5c3df08a395232bbc3c2eb7e84912df911d", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/d2b592535ffa6600c265a3893a7f7fd2bad82dd7", + "reference": "d2b592535ffa6600c265a3893a7f7fd2bad82dd7", "shasum": "" }, "require": { - "php": ">=8.2", + "php": ">=8.4", "symfony/deprecation-contracts": "^2.5|^3" }, "type": "library", @@ -8157,7 +8149,7 @@ "options" ], "support": { - "source": "https://github.com/symfony/options-resolver/tree/v7.3.3" + "source": "https://github.com/symfony/options-resolver/tree/v8.0.0" }, "funding": [ { @@ -8177,7 +8169,7 @@ "type": "tidelift" } ], - "time": "2025-08-05T10:16:07+00:00" + "time": "2025-11-12T15:55:31+00:00" }, { "name": "symfony/polyfill-ctype", @@ -8511,20 +8503,20 @@ }, { "name": "symfony/process", - "version": "v7.3.4", + "version": "v8.0.0", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "f24f8f316367b30810810d4eb30c543d7003ff3b" + "reference": "a0a750500c4ce900d69ba4e9faf16f82c10ee149" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/f24f8f316367b30810810d4eb30c543d7003ff3b", - "reference": "f24f8f316367b30810810d4eb30c543d7003ff3b", + "url": "https://api.github.com/repos/symfony/process/zipball/a0a750500c4ce900d69ba4e9faf16f82c10ee149", + "reference": "a0a750500c4ce900d69ba4e9faf16f82c10ee149", "shasum": "" }, "require": { - "php": ">=8.2" + "php": ">=8.4" }, "type": "library", "autoload": { @@ -8552,7 +8544,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v7.3.4" + "source": "https://github.com/symfony/process/tree/v8.0.0" }, "funding": [ { @@ -8572,38 +8564,38 @@ "type": "tidelift" } ], - "time": "2025-09-11T10:12:26+00:00" + "time": "2025-10-16T16:25:44+00:00" }, { "name": "symfony/string", - "version": "v7.3.4", + "version": "v8.0.0", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "f96476035142921000338bad71e5247fbc138872" + "reference": "f929eccf09531078c243df72398560e32fa4cf4f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/f96476035142921000338bad71e5247fbc138872", - "reference": "f96476035142921000338bad71e5247fbc138872", + "url": "https://api.github.com/repos/symfony/string/zipball/f929eccf09531078c243df72398560e32fa4cf4f", + "reference": "f929eccf09531078c243df72398560e32fa4cf4f", "shasum": "" }, "require": { - "php": ">=8.2", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-intl-grapheme": "~1.0", - "symfony/polyfill-intl-normalizer": "~1.0", - "symfony/polyfill-mbstring": "~1.0" + "php": ">=8.4", + "symfony/polyfill-ctype": "^1.8", + "symfony/polyfill-intl-grapheme": "^1.33", + "symfony/polyfill-intl-normalizer": "^1.0", + "symfony/polyfill-mbstring": "^1.0" }, "conflict": { "symfony/translation-contracts": "<2.5" }, "require-dev": { - "symfony/emoji": "^7.1", - "symfony/http-client": "^6.4|^7.0", - "symfony/intl": "^6.4|^7.0", + "symfony/emoji": "^7.4|^8.0", + "symfony/http-client": "^7.4|^8.0", + "symfony/intl": "^7.4|^8.0", "symfony/translation-contracts": "^2.5|^3.0", - "symfony/var-exporter": "^6.4|^7.0" + "symfony/var-exporter": "^7.4|^8.0" }, "type": "library", "autoload": { @@ -8642,7 +8634,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v7.3.4" + "source": "https://github.com/symfony/string/tree/v8.0.0" }, "funding": [ { @@ -8662,7 +8654,7 @@ "type": "tidelift" } ], - "time": "2025-09-11T14:36:48+00:00" + "time": "2025-09-11T14:37:55+00:00" }, { "name": "textalk/websocket", diff --git a/src/Appwrite/Utopia/Database/Documents/User.php b/src/Appwrite/Utopia/Database/Documents/User.php new file mode 100644 index 0000000000..a85b0a897c --- /dev/null +++ b/src/Appwrite/Utopia/Database/Documents/User.php @@ -0,0 +1,182 @@ +getAttribute('email'); + } + + public function getPhone(): ?string + { + return $this->getAttribute('phone'); + } + + /** + * Returns all roles for a user. + * + * @return array + */ + public function getRoles(): array + { + $roles = []; + + if (!$this->isPrivileged(Authorization::getRoles()) && !$this->isApp(Authorization::getRoles())) { + if ($this->getId()) { + $roles[] = Role::user($this->getId())->toString(); + $roles[] = Role::users()->toString(); + + $emailVerified = $this->getAttribute('emailVerification', false); + $phoneVerified = $this->getAttribute('phoneVerification', false); + + if ($emailVerified || $phoneVerified) { + $roles[] = Role::user($this->getId(), Roles::DIMENSION_VERIFIED)->toString(); + $roles[] = Role::users(Roles::DIMENSION_VERIFIED)->toString(); + } else { + $roles[] = Role::user($this->getId(), Roles::DIMENSION_UNVERIFIED)->toString(); + $roles[] = Role::users(Roles::DIMENSION_UNVERIFIED)->toString(); + } + } else { + return [Role::guests()->toString()]; + } + } + + foreach ($this->getAttribute('memberships', []) as $node) { + if (!isset($node['confirm']) || !$node['confirm']) { + continue; + } + + if (isset($node['$id']) && isset($node['teamId'])) { + $roles[] = Role::team($node['teamId'])->toString(); + $roles[] = Role::member($node['$id'])->toString(); + + if (isset($node['roles'])) { + foreach ($node['roles'] as $nodeRole) { // Set all team roles + $roles[] = Role::team($node['teamId'], $nodeRole)->toString(); + } + } + } + } + + foreach ($this->getAttribute('labels', []) as $label) { + $roles[] = 'label:' . $label; + } + + return $roles; + } + + /** + * Check if user is anonymous. + * + * @param Document $this + * @return bool + */ + public function isAnonymous(): bool + { + return is_null($this->getEmail()) + && is_null($this->getPhone()); + } + + /** + * Is Privileged User? + * + * @param array $roles + * + * @return bool + */ + public static function isPrivileged(array $roles): bool + { + if ( + in_array(self::ROLE_OWNER, $roles) || + in_array(self::ROLE_DEVELOPER, $roles) || + in_array(self::ROLE_ADMIN, $roles) + ) { + return true; + } + + return false; + } + + /** + * Is App User? + * + * @param array $roles + * + * @return bool + */ + public static function isApp(array $roles): bool + { + if (in_array(self::ROLE_APPS, $roles)) { + return true; + } + + return false; + } + + public function tokenVerify(int $type = null, string $secret, Proof $proofForToken): false|Document + { + $tokens = $this->getAttribute('tokens', []); + foreach ($tokens as $token) { + if ( + $token->isSet('secret') && + $token->isSet('expire') && + $token->isSet('type') && + ($type === null || $token->getAttribute('type') === $type) && + $proofForToken->verify($secret, $token->getAttribute('secret')) && + DateTime::formatTz($token->getAttribute('expire')) >= DateTime::formatTz(DateTime::now()) + ) { + return $token; + } + } + + return false; + } + + /** + * Verify session and check that its not expired. + * + * @param array $sessions + * @param string $secret + * + * @return bool|string + */ + public function sessionVerify(string $secret, Token $proofForToken) + { + $sessions = $this->getAttribute('sessions', []); + + foreach ($sessions as $session) { + if ( + $session->isSet('secret') && + $session->isSet('provider') && + $session->isSet('expire') && + $proofForToken->verify($secret, $session->getAttribute('secret')) && + DateTime::formatTz(DateTime::format(new \DateTime($session->getAttribute('expire')))) >= DateTime::formatTz(DateTime::now()) + ) { + return $session->getId(); + } + } + + return false; + + return false; + } +} From 5da1f791a5a2d7ff8c02a09e20e644de48aa1aa6 Mon Sep 17 00:00:00 2001 From: shimon Date: Thu, 27 Nov 2025 18:17:04 +0200 Subject: [PATCH 011/220] sync with 1.8.x --- app/controllers/api/account.php | 20 ++-- app/controllers/api/graphql.php | 2 +- app/controllers/api/migrations.php | 22 +++-- app/controllers/api/storage.php | 2 +- app/controllers/api/teams.php | 22 ++--- app/controllers/shared/api.php | 4 +- app/init/resources.php | 2 +- app/realtime.php | 6 +- composer.lock | 92 +++++++++++++++---- src/Appwrite/Auth/Auth.php | 0 .../Collections/Documents/Update.php | 4 +- .../Collections/Documents/Upsert.php | 4 +- .../Databases/Collections/Documents/XList.php | 4 +- .../Http/Databases/Transactions/Update.php | 6 +- .../Functions/Http/Executions/XList.php | 4 +- .../Http/Tokens/Buckets/Files/Action.php | 4 +- .../Utopia/Database/Documents/User.php | 5 +- tests/unit/Auth/AuthTest.php | 0 18 files changed, 132 insertions(+), 71 deletions(-) delete mode 100644 src/Appwrite/Auth/Auth.php delete mode 100644 tests/unit/Auth/AuthTest.php diff --git a/app/controllers/api/account.php b/app/controllers/api/account.php index a84fe5b92f..568559d549 100644 --- a/app/controllers/api/account.php +++ b/app/controllers/api/account.php @@ -197,7 +197,7 @@ function sendSessionAlert(Locale $locale, Document $user, Document $project, Doc $createSession = function (string $userId, string $secret, Request $request, Response $response, User $user, Database $dbForProject, Document $project, Locale $locale, Reader $geodb, Event $queueForEvents, Mail $queueForMails, Store $store, ProofsToken $proofForToken, ProofsCode $proofForCode, Authorization $authorization) { /** @var Appwrite\Utopia\Database\Documents\User $userFromRequest */ - $userFromRequest = Authorization::skip(fn () => $dbForProject->getDocument('users', $userId)); + $userFromRequest = $authorization->skip(fn () => $dbForProject->getDocument('users', $userId)); if ($userFromRequest->isEmpty()) { throw new Exception(Exception::USER_INVALID_TOKEN); @@ -1256,7 +1256,7 @@ App::post('/v1/account/sessions/token') ->inject('store') ->inject('proofForToken') ->inject('proofForCode') - ->inject('authorization') +->inject('authorization') ->action($createSession); App::get('/v1/account/sessions/oauth2/:provider') @@ -2708,7 +2708,7 @@ App::post('/v1/account/tokens/phone') ->inject('store') ->inject('proofForCode') ->inject('authorization') - ->action(function (string $userId, string $phone, Request $request, Response $response, User $user, Document $project, Database $dbForProject, Event $queueForEvents, Messaging $queueForMessaging, Locale $locale, callable $timelimit, StatsUsage $queueForStatsUsage, array $plan, Store $store, ProofsCode $proofForCode, Authorization $authorization) { + ->action(function (string $userId, string $phone, Request $request, Response $response, User $user, Document $project, Database $dbForProject, Event $queueForEvents, Messaging $queueForMessaging, Locale $locale, callable $timelimit, StatsUsage $queueForStatsUsage, array $plan, Store $store, ProofsCode $proofForCode, Authorization $authorization) { if (empty(System::getEnv('_APP_SMS_PROVIDER'))) { throw new Exception(Exception::GENERAL_PHONE_DISABLED, 'Phone provider not configured'); } @@ -3194,7 +3194,7 @@ App::patch('/v1/account/email') ->inject('project') ->inject('hooks') ->inject('proofForPassword') - ->inject('authorization') + ->inject('authorization') ->action(function (string $email, string $password, ?\DateTime $requestTimestamp, Response $response, User $user, Database $dbForProject, Event $queueForEvents, Document $project, Hooks $hooks, ProofsPassword $proofForPassword, Authorization $authorization) { // passwordUpdate will be empty if the user has never set a password $passwordUpdate = $user->getAttribute('passwordUpdate'); @@ -3304,8 +3304,8 @@ App::patch('/v1/account/phone') ->inject('queueForEvents') ->inject('project') ->inject('hooks') - ->inject('proofForPassword') - ->inject('authorization') + ->inject('proofForPassword') +->inject('authorization') ->action(function (string $phone, string $password, Response $response, Document $user, Database $dbForProject, Event $queueForEvents, Document $project, Hooks $hooks, ProofsPassword $proofForPassword, Authorization $authorization) { // passwordUpdate will be empty if the user has never set a password $passwordUpdate = $user->getAttribute('passwordUpdate'); @@ -3668,7 +3668,7 @@ App::put('/v1/account/recovery') ->inject('hooks') ->inject('proofForPassword') ->inject('proofForToken') - ->inject('authorization') +->inject('authorization') ->action(function (string $userId, string $secret, string $password, Response $response, User $user, Database $dbForProject, Document $project, Event $queueForEvents, Hooks $hooks, ProofsPassword $proofForPassword, ProofsToken $proofForToken, Authorization $authorization) { /** @var Appwrite\Utopia\Database\Documents\User $profile */ $profile = $dbForProject->getDocument('users', $userId); @@ -4001,7 +4001,7 @@ App::put('/v1/account/verifications/email') ->inject('authorization') ->action(function (string $userId, string $secret, Response $response, User $user, Database $dbForProject, Event $queueForEvents, ProofsToken $proofForToken, Authorization $authorization) { /** @var Appwrite\Utopia\Database\Documents\User $profile */ - $profile = Authorization::skip(fn () => $dbForProject->getDocument('users', $userId)); + $profile = $authorization->skip(fn () => $dbForProject->getDocument('users', $userId)); if ($profile->isEmpty()) { throw new Exception(Exception::USER_NOT_FOUND); @@ -4073,7 +4073,7 @@ App::post('/v1/account/verifications/phone') ->inject('queueForStatsUsage') ->inject('plan') ->inject('proofForCode') - ->inject('authorization') + ->inject('authorization') ->action(function (Request $request, Response $response, User $user, Database $dbForProject, Event $queueForEvents, Messaging $queueForMessaging, Document $project, Locale $locale, callable $timelimit, StatsUsage $queueForStatsUsage, array $plan, ProofsCode $proofForCode, Authorization $authorization) { if (empty(System::getEnv('_APP_SMS_PROVIDER'))) { throw new Exception(Exception::GENERAL_PHONE_DISABLED, 'Phone provider not configured'); @@ -4222,7 +4222,7 @@ App::put('/v1/account/verifications/phone') ->inject('authorization') ->action(function (string $userId, string $secret, Response $response, User $user, Database $dbForProject, Event $queueForEvents, ProofsCode $proofForCode, Authorization $authorization) { /** @var Appwrite\Utopia\Database\Documents\User $profile */ - $profile = Authorization::skip(fn () => $dbForProject->getDocument('users', $userId)); + $profile = $authorization->skip(fn () => $dbForProject->getDocument('users', $userId)); if ($profile->isEmpty()) { throw new Exception(Exception::USER_NOT_FOUND); diff --git a/app/controllers/api/graphql.php b/app/controllers/api/graphql.php index fd61391c79..93e0a74ba8 100644 --- a/app/controllers/api/graphql.php +++ b/app/controllers/api/graphql.php @@ -33,7 +33,7 @@ App::init() if ( array_key_exists('graphql', $project->getAttribute('apis', [])) && !$project->getAttribute('apis', [])['graphql'] - && !(User::isPrivileged($authorization->getRoles()) || User::isApp(Authorization::getRoles())) + && !(User::isPrivileged($authorization->getRoles()) || User::isApp($authorization->getRoles())) ) { throw new AppwriteException(AppwriteException::GENERAL_API_DISABLED); } diff --git a/app/controllers/api/migrations.php b/app/controllers/api/migrations.php index f9d134db05..f9f0b8b219 100644 --- a/app/controllers/api/migrations.php +++ b/app/controllers/api/migrations.php @@ -1,6 +1,5 @@ inject('deviceForMigrations') ->inject('queueForEvents') ->inject('queueForMigrations') - ->action(function (string $bucketId, string $fileId, string $resourceId, bool $internalFile, Response $response, Database $dbForProject, Database $dbForPlatform, Authorization $authorization, Document $project, Device $deviceForFiles, Device $deviceForMigrations, Event $queueForEvents, Migration $queueForMigrations) { - $isAPIKey = Auth::isAppUser($authorization->getRoles()); - $isPrivilegedUser = Auth::isPrivilegedUser($authorization->getRoles()); - if ($internalFile && !$isPrivilegedUser) { - throw new Exception(Exception::USER_UNAUTHORIZED); - } + ->action(function ( + string $bucketId, + string $fileId, + string $resourceId, + bool $internalFile, + Response $response, + Database $dbForProject, + Database $dbForPlatform, + Authorization $authorization, + Document $project, + Device $deviceForFiles, + Device $deviceForMigrations, + Event $queueForEvents, + Migration $queueForMigrations + ) { $bucket = $authorization->skip(function () use ($internalFile, $dbForPlatform, $dbForProject, $bucketId) { if ($internalFile) { return $dbForPlatform->getDocument('buckets', 'default'); diff --git a/app/controllers/api/storage.php b/app/controllers/api/storage.php index 50e06a615c..1353906635 100644 --- a/app/controllers/api/storage.php +++ b/app/controllers/api/storage.php @@ -1176,7 +1176,7 @@ App::get('/v1/storage/buckets/:bucketId/files/:fileId/download') /* @type Document $bucket */ $bucket = $authorization->skip(fn () => $dbForProject->getDocument('buckets', $bucketId)); - $isAPIKey = User::isApp($authorization->getRoles()); + $isAPIKey = User::isApp($authorization->getRoles()); $isPrivilegedUser = User::isPrivileged($authorization->getRoles()); if ($bucket->isEmpty() || (!$bucket->getAttribute('enabled') && !$isAPIKey && !$isPrivilegedUser)) { diff --git a/app/controllers/api/teams.php b/app/controllers/api/teams.php index 78b98f3372..2d38400f64 100644 --- a/app/controllers/api/teams.php +++ b/app/controllers/api/teams.php @@ -91,8 +91,8 @@ App::post('/v1/teams') ->inject('queueForEvents') ->action(function (string $teamId, string $name, array $roles, Response $response, Document $user, Database $dbForProject, Authorization $authorization, Event $queueForEvents) { - $isPrivilegedUser = User::isPrivilegedUser($authorization->getRoles()); - $isAppUser = User::isAppUser($authorization->getRoles()); + $isPrivilegedUser = User::isPrivileged($authorization->getRoles()); + $isAppUser = User::isApp($authorization->getRoles()); $teamId = $teamId == 'unique()' ? ID::unique() : $teamId; @@ -504,8 +504,8 @@ App::post('/v1/teams/:teamId/memberships') ->inject('proofForPassword') ->inject('proofForToken') ->action(function (string $teamId, string $email, string $userId, string $phone, array $roles, string $url, string $name, Response $response, Document $project, Document $user, Database $dbForProject, Authorization $authorization, Locale $locale, Mail $queueForMails, Messaging $queueForMessaging, Event $queueForEvents, callable $timelimit, StatsUsage $queueForStatsUsage, array $plan, Password $proofForPassword, Token $proofForToken) { - $isAppUser = User::isApp(Authorization::getRoles()); - $isPrivilegedUser = User::isPrivileged(Authorization::getRoles()); + $isAppUser = User::isApp($authorization->getRoles()); + $isPrivilegedUser = User::isPrivileged($authorization->getRoles()); $url = htmlentities($url); if (empty($url)) { @@ -622,7 +622,7 @@ App::post('/v1/teams/:teamId/memberships') ]); try { - $invitee = Authorization::skip(fn () => $dbForProject->createDocument('users', $userDocument)); + $invitee = $authorization->skip(fn () => $dbForProject->createDocument('users', $userDocument)); } catch (Duplicate $th) { throw new Exception(Exception::USER_ALREADY_EXISTS); } @@ -938,8 +938,8 @@ App::get('/v1/teams/:teamId/memberships') ]; $roles = $authorization->getRoles(); - $isPrivilegedUser = User::isPrivilegedUser($roles); - $isAppUser = User::isAppUser($roles); + $isPrivilegedUser = User::isPrivileged($roles); + $isAppUser = User::isApp($roles); $membershipsPrivacy = array_map(function ($privacy) use ($isPrivilegedUser, $isAppUser) { return $privacy || $isPrivilegedUser || $isAppUser; @@ -1030,8 +1030,8 @@ App::get('/v1/teams/:teamId/memberships/:membershipId') ]; $roles = $authorization->getRoles(); - $isPrivilegedUser = User::isPrivilegedUser($roles); - $isAppUser = User::isAppUser($roles); + $isPrivilegedUser = User::isPrivileged($roles); + $isAppUser = User::isApp($roles); $membershipsPrivacy = array_map(function ($privacy) use ($isPrivilegedUser, $isAppUser) { return $privacy || $isPrivilegedUser || $isAppUser; @@ -1127,8 +1127,8 @@ App::patch('/v1/teams/:teamId/memberships/:membershipId') throw new Exception(Exception::USER_NOT_FOUND); } - $isPrivilegedUser = User::isPrivileged(Authorization::getRoles()); - $isAppUser = User::isApp(Authorization::getRoles()); + $isPrivilegedUser = User::isPrivileged($authorization->getRoles()); + $isAppUser = User::isApp($authorization->getRoles()); $isOwner = $authorization->hasRole('team:' . $team->getId() . '/owner'); if ($project->getId() === 'console') { diff --git a/app/controllers/shared/api.php b/app/controllers/shared/api.php index 4d88090b2d..97c5e29f3d 100644 --- a/app/controllers/shared/api.php +++ b/app/controllers/shared/api.php @@ -398,7 +398,7 @@ App::init() $scopes = \array_unique($scopes); $authorization->addRole($role); - foreach ($user->getRoles() as $authRole) { + foreach ($user->getRoles($authorization) as $authRole) { $authorization->addRole($authRole); } @@ -643,7 +643,7 @@ App::init() if ($useCache) { $route = $utopia->match($request); $isImageTransformation = $route->getPath() === '/v1/storage/buckets/:bucketId/files/:fileId/preview'; - $isDisabled = isset($plan['imageTransformations']) && $plan['imageTransformations'] === -1 && !User::isPrivileged(Authorization::getRoles()); + $isDisabled = isset($plan['imageTransformations']) && $plan['imageTransformations'] === -1 && !User::isPrivileged($authorization->getRoles()); $key = $request->cacheIdentifier(); $cacheLog = $authorization->skip(fn () => $dbForProject->getDocument('cache', $key)); diff --git a/app/init/resources.php b/app/init/resources.php index 8e230cbdb0..6114f318ad 100644 --- a/app/init/resources.php +++ b/app/init/resources.php @@ -320,7 +320,7 @@ App::setResource('user', function (string $mode, Document $project, Document $co } // if (APP_MODE_ADMIN === $mode) { // if ($user->find('teamInternalId', $project->getAttribute('teamInternalId'), 'memberships')) { - // Authorization::setDefaultStatus(false); // Cancel security segmentation for admin users. + // $authorization->setDefaultStatus(false); // Cancel security segmentation for admin users. // } else { // $user = new Document([]); // } diff --git a/app/realtime.php b/app/realtime.php index 7d85b61e40..e020546a02 100644 --- a/app/realtime.php +++ b/app/realtime.php @@ -450,7 +450,7 @@ $server->onWorkerStart(function (int $workerId) use ($server, $register, $stats, Console::error('Pub/sub failed (worker: ' . $workerId . ')'); } - $pubsub->subscribe(['realtime'], function (mixed $redis, string $channel, string $payload) use ($server, $workerId, $stats, $register, $realtime) { + $pubsub->subscribe(['realtime'], function (mixed $redis, string $channel, string $payload) use ($server, $workerId, $stats, $register, $realtime, $authorization) { $event = json_decode($payload, true); if ($event['permissionsChanged'] && isset($event['userId'])) { @@ -466,7 +466,7 @@ $server->onWorkerStart(function (int $workerId) use ($server, $register, $stats, /** @var Appwrite\Utopia\Database\Documents\User $user */ $user = $database->getDocument('users', $userId); - $roles = $user->getRoles(); + $roles = $user->getRoles($authorization); $channels = $realtime->connections[$connection]['channels']; $realtime->unsubscribe($connection); @@ -534,7 +534,7 @@ $server->onOpen(function (int $connection, SwooleRequest $request) use ($server, if ( array_key_exists('realtime', $project->getAttribute('apis', [])) && !$project->getAttribute('apis', [])['realtime'] - && !(User::isPrivileged($authorization->getRoles()) || User::isApp(Authorization::getRoles())) + && !(User::isPrivileged($authorization->getRoles()) || User::isApp($authorization->getRoles())) ) { throw new AppwriteException(AppwriteException::GENERAL_API_DISABLED); } diff --git a/composer.lock b/composer.lock index 045e53ea85..d283b0f347 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "26af4279acf6d841656ec711b52193cc", + "content-hash": "46333fff6a2fce6d593be22b32cdf282", "packages": [ { "name": "adhocore/jwt", @@ -891,16 +891,16 @@ }, { "name": "matomo/device-detector", - "version": "6.4.7", + "version": "6.4.8", "source": { "type": "git", "url": "https://github.com/matomo-org/device-detector.git", - "reference": "e53eed31bb1530851feebe52bd64c3451da19e77" + "reference": "56baf981af4f192e15a4f369d4975af847a81ccb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/matomo-org/device-detector/zipball/e53eed31bb1530851feebe52bd64c3451da19e77", - "reference": "e53eed31bb1530851feebe52bd64c3451da19e77", + "url": "https://api.github.com/repos/matomo-org/device-detector/zipball/56baf981af4f192e15a4f369d4975af847a81ccb", + "reference": "56baf981af4f192e15a4f369d4975af847a81ccb", "shasum": "" }, "require": { @@ -957,7 +957,7 @@ "source": "https://github.com/matomo-org/matomo", "wiki": "https://dev.matomo.org/" }, - "time": "2025-08-20T17:20:16+00:00" + "time": "2025-11-26T16:02:47+00:00" }, { "name": "mongodb/mongodb", @@ -2673,16 +2673,16 @@ }, { "name": "symfony/http-client", - "version": "v7.3.6", + "version": "v7.4.0", "source": { "type": "git", "url": "https://github.com/symfony/http-client.git", - "reference": "3c0a55a2c8e21e30a37022801c11c7ab5a6cb2de" + "reference": "ee5e0e0139ab506f6063a230e631bed677c650a4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/3c0a55a2c8e21e30a37022801c11c7ab5a6cb2de", - "reference": "3c0a55a2c8e21e30a37022801c11c7ab5a6cb2de", + "url": "https://api.github.com/repos/symfony/http-client/zipball/ee5e0e0139ab506f6063a230e631bed677c650a4", + "reference": "ee5e0e0139ab506f6063a230e631bed677c650a4", "shasum": "" }, "require": { @@ -2713,12 +2713,13 @@ "php-http/httplug": "^1.0|^2.0", "psr/http-client": "^1.0", "symfony/amphp-http-client-meta": "^1.0|^2.0", - "symfony/dependency-injection": "^6.4|^7.0", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/messenger": "^6.4|^7.0", - "symfony/process": "^6.4|^7.0", - "symfony/rate-limiter": "^6.4|^7.0", - "symfony/stopwatch": "^6.4|^7.0" + "symfony/cache": "^6.4|^7.0|^8.0", + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/http-kernel": "^6.4|^7.0|^8.0", + "symfony/messenger": "^6.4|^7.0|^8.0", + "symfony/process": "^6.4|^7.0|^8.0", + "symfony/rate-limiter": "^6.4|^7.0|^8.0", + "symfony/stopwatch": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -2749,7 +2750,7 @@ "http" ], "support": { - "source": "https://github.com/symfony/http-client/tree/v7.3.6" + "source": "https://github.com/symfony/http-client/tree/v7.4.0" }, "funding": [ { @@ -2769,7 +2770,7 @@ "type": "tidelift" } ], - "time": "2025-11-05T17:41:46+00:00" + "time": "2025-11-20T12:32:50+00:00" }, { "name": "symfony/http-client-contracts", @@ -3596,6 +3597,61 @@ }, "time": "2025-11-04T11:27:42+00:00" }, + { + "name": "utopia-php/auth", + "version": "0.5.0", + "source": { + "type": "git", + "url": "https://github.com/utopia-php/auth.git", + "reference": "5ad0ded3a79f153ee904b97b49f8dfe4669e4fd0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/utopia-php/auth/zipball/5ad0ded3a79f153ee904b97b49f8dfe4669e4fd0", + "reference": "5ad0ded3a79f153ee904b97b49f8dfe4669e4fd0", + "shasum": "" + }, + "require": { + "ext-hash": "*", + "ext-scrypt": "*", + "ext-sodium": "*", + "php": ">=8.0" + }, + "require-dev": { + "laravel/pint": "1.2.*", + "phpstan/phpstan": "1.9.x-dev", + "phpunit/phpunit": "^9.3", + "vimeo/psalm": "4.0.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "Utopia\\Auth\\": "src/Auth" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Utopia PHP", + "email": "team@appwrite.io" + } + ], + "description": "A simple PHP authentication library", + "keywords": [ + "Authentication", + "auth", + "php", + "security" + ], + "support": { + "issues": "https://github.com/utopia-php/auth/issues", + "source": "https://github.com/utopia-php/auth/tree/0.5.0" + }, + "time": "2025-10-29T07:11:43+00:00" + }, { "name": "utopia-php/cache", "version": "0.13.1", diff --git a/src/Appwrite/Auth/Auth.php b/src/Appwrite/Auth/Auth.php deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Update.php index 2f0e877cd1..a7ef71172d 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Update.php @@ -101,8 +101,8 @@ class Update extends Action $database = $authorization->skip(fn () => $dbForProject->getDocument('databases', $databaseId)); - $isAPIKey = User::isAppUser($authorization->getRoles()); - $isPrivilegedUser = User::isPrivilegedUser($authorization->getRoles()); + $isAPIKey = User::isApp($authorization->getRoles()); + $isPrivilegedUser = User::isPrivileged($authorization->getRoles()); if ($database->isEmpty() || (!$database->getAttribute('enabled', false) && !$isAPIKey && !$isPrivilegedUser)) { throw new Exception(Exception::DATABASE_NOT_FOUND); diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Upsert.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Upsert.php index 88331e3478..7235ef5784 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Upsert.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Upsert.php @@ -107,8 +107,8 @@ class Upsert extends Action throw new Exception($this->getMissingPayloadException()); } - $isAPIKey = User::isAppUser($authorization->getRoles()); - $isPrivilegedUser = User::isPrivilegedUser($authorization->getRoles()); + $isAPIKey = User::isApp($authorization->getRoles()); + $isPrivilegedUser = User::isPrivileged($authorization->getRoles()); $database = $authorization->skip(fn () => $dbForProject->getDocument('databases', $databaseId)); if ($database->isEmpty() || (!$database->getAttribute('enabled', false) && !$isAPIKey && !$isPrivilegedUser)) { diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/XList.php index cb08ef31c4..a604bac485 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/XList.php @@ -80,8 +80,8 @@ class XList extends Action public function action(string $databaseId, string $collectionId, array $queries, ?string $transactionId, bool $includeTotal, UtopiaResponse $response, Database $dbForProject, StatsUsage $queueForStatsUsage, TransactionState $transactionState, Authorization $authorization): void { - $isAPIKey = User::isAppUser($authorization->getRoles()); - $isPrivilegedUser = User::isPrivilegedUser($authorization->getRoles()); + $isAPIKey = User::isApp($authorization->getRoles()); + $isPrivilegedUser = User::isPrivileged($authorization->getRoles()); $database = $authorization->skip(fn () => $dbForProject->getDocument('databases', $databaseId)); if ($database->isEmpty() || (!$database->getAttribute('enabled', false) && !$isAPIKey && !$isPrivilegedUser)) { diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/Update.php index fc9d0f7711..f28823b252 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/Update.php @@ -112,8 +112,8 @@ class Update extends Action throw new Exception(Exception::GENERAL_BAD_REQUEST, 'Cannot commit and rollback at the same time'); } - $isAPIKey = User::isAppUser($authorization->getRoles()); - $isPrivilegedUser = User::isPrivilegedUser($authorization->getRoles()); + $isAPIKey = User::isApp($authorization->getRoles()); + $isPrivilegedUser = User::isPrivileged($authorization->getRoles()); $transaction = ($isAPIKey || $isPrivilegedUser) ? $authorization->skip(fn () => $dbForProject->getDocument('transactions', $transactionId)) @@ -246,8 +246,6 @@ class Update extends Action 'status' => 'failed', ]))); throw new Exception(Exception::DOCUMENT_NOT_FOUND, previous: $e); - } catch (DuplicateException|ConflictException $e) { - $authorization->skip(fn () => $dbForProject->updateDocument('transactions', $transactionId, new Document([ } catch (DuplicateException | ConflictException $e) { $authorization->skip(fn () => $dbForProject->updateDocument('transactions', $transactionId, new Document([ 'status' => 'failed', diff --git a/src/Appwrite/Platform/Modules/Functions/Http/Executions/XList.php b/src/Appwrite/Platform/Modules/Functions/Http/Executions/XList.php index 04dc56b5b8..460e361f15 100644 --- a/src/Appwrite/Platform/Modules/Functions/Http/Executions/XList.php +++ b/src/Appwrite/Platform/Modules/Functions/Http/Executions/XList.php @@ -74,8 +74,8 @@ class XList extends Base ) { $function = $authorization->skip(fn () => $dbForProject->getDocument('functions', $functionId)); - $isAPIKey = User::isAppUser($authorization->getRoles()); - $isPrivilegedUser = User::isPrivilegedUser($authorization->getRoles()); + $isAPIKey = User::isApp($authorization->getRoles()); + $isPrivilegedUser = User::isPrivileged($authorization->getRoles()); if ($function->isEmpty() || (!$function->getAttribute('enabled') && !$isAPIKey && !$isPrivilegedUser)) { throw new Exception(Exception::FUNCTION_NOT_FOUND); diff --git a/src/Appwrite/Platform/Modules/Tokens/Http/Tokens/Buckets/Files/Action.php b/src/Appwrite/Platform/Modules/Tokens/Http/Tokens/Buckets/Files/Action.php index ef00ee6093..5f1bd55788 100644 --- a/src/Appwrite/Platform/Modules/Tokens/Http/Tokens/Buckets/Files/Action.php +++ b/src/Appwrite/Platform/Modules/Tokens/Http/Tokens/Buckets/Files/Action.php @@ -15,8 +15,8 @@ class Action extends UtopiaAction { $bucket = $authorization->skip(fn () => $dbForProject->getDocument('buckets', $bucketId)); - $isAPIKey = Auth::isAppUser($authorization->getRoles()); - $isPrivilegedUser = Auth::isPrivilegedUser($authorization->getRoles()); + $isAPIKey = User::isApp($authorization->getRoles()); + $isPrivilegedUser = User::isPrivileged($authorization->getRoles()); if ($bucket->isEmpty() || (!$bucket->getAttribute('enabled') && !$isAPIKey && !$isPrivilegedUser)) { throw new Exception(Exception::STORAGE_BUCKET_NOT_FOUND); diff --git a/src/Appwrite/Utopia/Database/Documents/User.php b/src/Appwrite/Utopia/Database/Documents/User.php index a85b0a897c..b4ecfece66 100644 --- a/src/Appwrite/Utopia/Database/Documents/User.php +++ b/src/Appwrite/Utopia/Database/Documents/User.php @@ -7,7 +7,6 @@ use Utopia\Auth\Proofs\Token; use Utopia\Database\DateTime; use Utopia\Database\Document; use Utopia\Database\Helpers\Role; -use Utopia\Database\Validator\Authorization; use Utopia\Database\Validator\Roles; class User extends Document @@ -36,11 +35,11 @@ class User extends Document * * @return array */ - public function getRoles(): array + public function getRoles($authorization): array { $roles = []; - if (!$this->isPrivileged(Authorization::getRoles()) && !$this->isApp(Authorization::getRoles())) { + if (!$this->isPrivileged($authorization->getRoles) && !$this->isApp($authorization->getRoles())) { if ($this->getId()) { $roles[] = Role::user($this->getId())->toString(); $roles[] = Role::users()->toString(); diff --git a/tests/unit/Auth/AuthTest.php b/tests/unit/Auth/AuthTest.php deleted file mode 100644 index e69de29bb2..0000000000 From 67311fe5d6717dfaf38df5ce667c8f2f2e923dba Mon Sep 17 00:00:00 2001 From: shimon Date: Thu, 27 Nov 2025 18:56:33 +0200 Subject: [PATCH 012/220] Refactor: Update role retrieval to use authorization object in multiple files --- app/controllers/api/storage.php | 8 ++--- app/realtime.php | 8 ++--- .../unit/Messaging/MessagingChannelsTest.php | 4 +-- .../Utopia/Database/Documents/UserTest.php | 34 +++++++++++++------ 4 files changed, 33 insertions(+), 21 deletions(-) diff --git a/app/controllers/api/storage.php b/app/controllers/api/storage.php index 1353906635..32ad32b888 100644 --- a/app/controllers/api/storage.php +++ b/app/controllers/api/storage.php @@ -2,6 +2,7 @@ use Ahc\Jwt\JWT; use Ahc\Jwt\JWTException; +use Appwrite\Auth\Auth; use Appwrite\ClamAV\Network; use Appwrite\Event\Delete; use Appwrite\Event\Event; @@ -1006,7 +1007,7 @@ App::get('/v1/storage/buckets/:bucketId/files/:fileId/preview') } if (!$resourceToken->isEmpty() && $resourceToken->getAttribute('fileInternalId') !== $file->getSequence()) { - throw new Exception(Exception::USER_UNAUTHORIZED, $authorization->getDescription()); + throw new Exception(Exception::USER_UNAUTHORIZED); } if ($file->isEmpty()) { @@ -1495,7 +1496,7 @@ App::get('/v1/storage/buckets/:bucketId/files/:fileId/push') try { $decoded = $decoder->decode($jwt); } catch (JWTException) { - throw new Exception(Exception::USER_UNAUTHORIZED, $authorization->getDescription()); + throw new Exception(Exception::USER_UNAUTHORIZED); } if ( @@ -1503,7 +1504,7 @@ App::get('/v1/storage/buckets/:bucketId/files/:fileId/push') $decoded['bucketId'] !== $bucketId || $decoded['fileId'] !== $fileId ) { - throw new Exception(Exception::USER_UNAUTHORIZED, $authorization->getDescription()); + throw new Exception(Exception::USER_UNAUTHORIZED); } $isInternal = $decoded['internal'] ?? false; @@ -1526,7 +1527,6 @@ App::get('/v1/storage/buckets/:bucketId/files/:fileId/push') $mimes = Config::getParam('storage-mimes'); $path = $file->getAttribute('path', ''); - if (!$deviceForFiles->exists($path)) { throw new Exception(Exception::STORAGE_FILE_NOT_FOUND, 'File not found in ' . $path); } diff --git a/app/realtime.php b/app/realtime.php index e020546a02..20e6a6096e 100644 --- a/app/realtime.php +++ b/app/realtime.php @@ -450,7 +450,7 @@ $server->onWorkerStart(function (int $workerId) use ($server, $register, $stats, Console::error('Pub/sub failed (worker: ' . $workerId . ')'); } - $pubsub->subscribe(['realtime'], function (mixed $redis, string $channel, string $payload) use ($server, $workerId, $stats, $register, $realtime, $authorization) { + $pubsub->subscribe(['realtime'], function (mixed $redis, string $channel, string $payload) use ($server, $workerId, $stats, $register, $realtime) { $event = json_decode($payload, true); if ($event['permissionsChanged'] && isset($event['userId'])) { @@ -466,7 +466,7 @@ $server->onWorkerStart(function (int $workerId) use ($server, $register, $stats, /** @var Appwrite\Utopia\Database\Documents\User $user */ $user = $database->getDocument('users', $userId); - $roles = $user->getRoles($authorization); + $roles = $user->getRoles($database->getAuthorization()); $channels = $realtime->connections[$connection]['channels']; $realtime->unsubscribe($connection); @@ -571,7 +571,7 @@ $server->onOpen(function (int $connection, SwooleRequest $request) use ($server, throw new Exception(Exception::REALTIME_POLICY_VIOLATION, $originValidator->getDescription()); } - $roles = $user->getRoles(); + $roles = $user->getRoles($authorization); $channels = Realtime::convertChannels($request->getQuery('channels', []), $user->getId()); @@ -710,7 +710,7 @@ $server->onMessage(function (int $connection, string $message) use ($server, $re throw new Exception(Exception::REALTIME_MESSAGE_FORMAT_INVALID, 'Session is not valid.'); } - $roles = $user->getRoles(); + $roles = $user->getRoles($database->getAuthorization()); $channels = Realtime::convertChannels(array_flip($realtime->connections[$connection]['channels']), $user->getId()); $realtime->subscribe($realtime->connections[$connection]['projectId'], $connection, $roles, $channels); diff --git a/tests/unit/Messaging/MessagingChannelsTest.php b/tests/unit/Messaging/MessagingChannelsTest.php index 29d29ed219..7df5b8d1e6 100644 --- a/tests/unit/Messaging/MessagingChannelsTest.php +++ b/tests/unit/Messaging/MessagingChannelsTest.php @@ -79,7 +79,7 @@ class MessagingChannelsTest extends TestCase ] ]); - $roles = $user->getRoles(); + $roles = $user->getRoles($this->getAuthorization()); $parsedChannels = Realtime::convertChannels([0 => $channel], $user->getId()); @@ -103,7 +103,7 @@ class MessagingChannelsTest extends TestCase '$id' => '' ]); - $roles = $user->getRoles(); + $roles = $user->getRoles($this->getAuthorization()); $parsedChannels = Realtime::convertChannels([0 => $channel], $user->getId()); diff --git a/tests/unit/Utopia/Database/Documents/UserTest.php b/tests/unit/Utopia/Database/Documents/UserTest.php index 4675e8d73f..a1f4a207e8 100644 --- a/tests/unit/Utopia/Database/Documents/UserTest.php +++ b/tests/unit/Utopia/Database/Documents/UserTest.php @@ -14,13 +14,26 @@ use Utopia\Database\Validator\Roles; class UserTest extends TestCase { + + private $authorization; + + public function getAuthorization(): Authorization + { + if (isset($this->authorization)) { + return $this->authorization; + } + + $this->authorization = new Authorization(); + return $this->authorization; + } + /** * Reset Roles */ public function tearDown(): void { - Authorization::cleanRoles(); - Authorization::setRole(Role::any()->toString()); + $this->getAuthorization()->cleanRoles(); + $this->getAuthorization()->addRole(Role::any()->toString()); } public function testSessionVerify(): void @@ -197,7 +210,7 @@ class UserTest extends TestCase '$id' => '' ]); - $roles = $user->getRoles(); + $roles = $user->getRoles($this->getAuthorization()); $this->assertCount(1, $roles); $this->assertContains(Role::guests()->toString(), $roles); } @@ -233,7 +246,7 @@ class UserTest extends TestCase ] ]); - $roles = $user->getRoles(); + $roles = $user->getRoles($this->getAuthorization()); $this->assertCount(13, $roles); $this->assertContains(Role::users()->toString(), $roles); @@ -254,21 +267,21 @@ class UserTest extends TestCase $user['emailVerification'] = false; $user['phoneVerification'] = false; - $roles = $user->getRoles(); + $roles = $user->getRoles($this->getAuthorization()); $this->assertContains(Role::users(Roles::DIMENSION_UNVERIFIED)->toString(), $roles); $this->assertContains(Role::user(ID::custom('123'), Roles::DIMENSION_UNVERIFIED)->toString(), $roles); // Enable single verification type $user['emailVerification'] = true; - $roles = $user->getRoles(); + $roles = $user->getRoles($this->getAuthorization() ); $this->assertContains(Role::users(Roles::DIMENSION_VERIFIED)->toString(), $roles); $this->assertContains(Role::user(ID::custom('123'), Roles::DIMENSION_VERIFIED)->toString(), $roles); } public function testPrivilegedUserRoles(): void { - Authorization::setRole(User::ROLE_OWNER); + $this->getAuthorization()->addRole(User::ROLE_OWNER); $user = new User([ '$id' => ID::custom('123'), 'emailVerification' => true, @@ -293,8 +306,7 @@ class UserTest extends TestCase ] ] ]); - - $roles = $user->getRoles(); + $roles = $user->getRoles($this->getAuthorization()); $this->assertCount(7, $roles); $this->assertNotContains(Role::users()->toString(), $roles); @@ -312,7 +324,7 @@ class UserTest extends TestCase public function testAppUserRoles(): void { - Authorization::setRole(User::ROLE_APPS); + $this->getAuthorization()->addRole(User::ROLE_APPS); $user = new User([ '$id' => ID::custom('123'), 'memberships' => [ @@ -336,7 +348,7 @@ class UserTest extends TestCase ] ]); - $roles = $user->getRoles(); + $roles = $user->getRoles($this->getAuthorization()); $this->assertCount(7, $roles); $this->assertNotContains(Role::users()->toString(), $roles); From aed0079cadd1275ab7a6cf2b28ca413f7f19aa65 Mon Sep 17 00:00:00 2001 From: shimon Date: Fri, 28 Nov 2025 08:57:12 +0200 Subject: [PATCH 013/220] Fix: Correct role retrieval method call and update project test assertions for accuracy --- src/Appwrite/Utopia/Database/Documents/User.php | 2 +- tests/e2e/Services/Projects/ProjectsConsoleClientTest.php | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/Appwrite/Utopia/Database/Documents/User.php b/src/Appwrite/Utopia/Database/Documents/User.php index b4ecfece66..cbd22aaee5 100644 --- a/src/Appwrite/Utopia/Database/Documents/User.php +++ b/src/Appwrite/Utopia/Database/Documents/User.php @@ -39,7 +39,7 @@ class User extends Document { $roles = []; - if (!$this->isPrivileged($authorization->getRoles) && !$this->isApp($authorization->getRoles())) { + if (!$this->isPrivileged($authorization->getRoles()) && !$this->isApp($authorization->getRoles())) { if ($this->getId()) { $roles[] = Role::user($this->getId())->toString(); $roles[] = Role::users()->toString(); diff --git a/tests/e2e/Services/Projects/ProjectsConsoleClientTest.php b/tests/e2e/Services/Projects/ProjectsConsoleClientTest.php index 91dce5c09c..2bd219a380 100644 --- a/tests/e2e/Services/Projects/ProjectsConsoleClientTest.php +++ b/tests/e2e/Services/Projects/ProjectsConsoleClientTest.php @@ -776,7 +776,7 @@ class ProjectsConsoleClientTest extends Scope ], $this->getHeaders())); $this->assertEquals(200, $response['headers']['status-code']); - $this->assertEquals('Account Verification', $response['body']['subject']); + $this->assertEquals('Account Verification for {{project}}', $response['body']['subject']); $this->assertEquals('', $response['body']['senderEmail']); $this->assertEquals('verification', $response['body']['type']); $this->assertEquals('en-us', $response['body']['locale']); @@ -879,7 +879,7 @@ class ProjectsConsoleClientTest extends Scope $this->assertEquals(200, $response['headers']['status-code']); $this->assertNotEmpty($response['body']['$id']); - $this->assertEquals('Project Test 2', $response['body']['name']); + $this->assertEquals('Project Test', $response['body']['name']); $this->assertArrayHasKey('platforms', $response['body']); $this->assertArrayHasKey('webhooks', $response['body']); $this->assertArrayHasKey('keys', $response['body']); @@ -3132,7 +3132,7 @@ class ProjectsConsoleClientTest extends Scope $this->assertContains('users.write', $response['body']['scopes']); $this->assertContains('collections.read', $response['body']['scopes']); $this->assertContains('tables.read', $response['body']['scopes']); - $this->assertCount(3, $response['body']['scopes']); + $this->assertCount(4, $response['body']['scopes']); $this->assertArrayHasKey('sdks', $response['body']); $this->assertEmpty($response['body']['sdks']); $this->assertArrayHasKey('accessedAt', $response['body']); @@ -3151,7 +3151,7 @@ class ProjectsConsoleClientTest extends Scope $this->assertContains('users.write', $response['body']['scopes']); $this->assertContains('collections.read', $response['body']['scopes']); $this->assertContains('tables.read', $response['body']['scopes']); - $this->assertCount(3, $response['body']['scopes']); + $this->assertCount(4, $response['body']['scopes']); $this->assertArrayHasKey('sdks', $response['body']); $this->assertEmpty($response['body']['sdks']); $this->assertArrayHasKey('accessedAt', $response['body']); From 5b3659af7ca2e7f5f38653f8d1a9510ddb4d3ff1 Mon Sep 17 00:00:00 2001 From: shimon Date: Fri, 28 Nov 2025 16:11:48 +0200 Subject: [PATCH 014/220] Remove unused Auth import in storage controller and fix formatting in UserTest class --- app/controllers/api/storage.php | 1 - tests/unit/Utopia/Database/Documents/UserTest.php | 3 +-- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/app/controllers/api/storage.php b/app/controllers/api/storage.php index 32ad32b888..79630978d9 100644 --- a/app/controllers/api/storage.php +++ b/app/controllers/api/storage.php @@ -2,7 +2,6 @@ use Ahc\Jwt\JWT; use Ahc\Jwt\JWTException; -use Appwrite\Auth\Auth; use Appwrite\ClamAV\Network; use Appwrite\Event\Delete; use Appwrite\Event\Event; diff --git a/tests/unit/Utopia/Database/Documents/UserTest.php b/tests/unit/Utopia/Database/Documents/UserTest.php index a1f4a207e8..d5706e7bec 100644 --- a/tests/unit/Utopia/Database/Documents/UserTest.php +++ b/tests/unit/Utopia/Database/Documents/UserTest.php @@ -14,7 +14,6 @@ use Utopia\Database\Validator\Roles; class UserTest extends TestCase { - private $authorization; public function getAuthorization(): Authorization @@ -274,7 +273,7 @@ class UserTest extends TestCase // Enable single verification type $user['emailVerification'] = true; - $roles = $user->getRoles($this->getAuthorization() ); + $roles = $user->getRoles($this->getAuthorization()); $this->assertContains(Role::users(Roles::DIMENSION_VERIFIED)->toString(), $roles); $this->assertContains(Role::user(ID::custom('123'), Roles::DIMENSION_VERIFIED)->toString(), $roles); } From b899e13763ee74696b361b350e00e6fcc886f2bc Mon Sep 17 00:00:00 2001 From: shimon Date: Fri, 28 Nov 2025 16:22:59 +0200 Subject: [PATCH 015/220] Refactor: Update database authorization handling in realtime.php and regenerate composer.lock --- app/realtime.php | 8 +++++--- composer.lock | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/app/realtime.php b/app/realtime.php index 20e6a6096e..6dfcb459d9 100644 --- a/app/realtime.php +++ b/app/realtime.php @@ -645,8 +645,10 @@ $server->onMessage(function (int $connection, string $message) use ($server, $re $database = getConsoleDB(); if ($projectId !== 'console') { - $project = $database->getAuthorization()->skip(fn () => $database->getDocument('projects', $projectId)); - $database = getProjectDB($project, $database->getAuthorization()); + $authorization = $database->getAuthorization(); + $project = $authorization->skip(fn () => $database->getDocument('projects', $projectId)); + $database = getProjectDB($project); + $database->setAuthorization($authorization); } else { $project = null; } @@ -656,7 +658,7 @@ $server->onMessage(function (int $connection, string $message) use ($server, $re * * Abuse limits are sending 32 times per minute and connection. */ - $timeLimit = getTimelimit('url:{url},connection:{connection}', 32, 60); + $timeLimit = new TimeLimitRedis('url:{url},connection:{connection}', 32, 60, getRedis()); $timeLimit ->setParam('{connection}', $connection) diff --git a/composer.lock b/composer.lock index a453dd8b56..b3678d693e 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "46333fff6a2fce6d593be22b32cdf282", + "content-hash": "1167f8ad5c99b75e2c76109ccd1e5772", "packages": [ { "name": "adhocore/jwt", From 013e961c3718c452b928cd12ffd7036cbca5d249 Mon Sep 17 00:00:00 2001 From: shimon Date: Fri, 28 Nov 2025 18:13:03 +0200 Subject: [PATCH 016/220] Refactor: Remove unused authorization parameter from redeployVcsFunction calls and related methods --- app/controllers/api/vcs.php | 1 - src/Appwrite/Platform/Modules/Compute/Base.php | 4 +--- .../Platform/Modules/Functions/Http/Deployments/Create.php | 2 -- .../Modules/Functions/Http/Deployments/Template/Create.php | 1 - .../Modules/Functions/Http/Deployments/Vcs/Create.php | 4 +--- .../Platform/Modules/Functions/Http/Functions/Update.php | 2 +- .../Platform/Modules/Sites/Http/Deployments/Create.php | 4 +--- src/Appwrite/Platform/Modules/Sites/Http/Sites/Update.php | 2 +- 8 files changed, 5 insertions(+), 15 deletions(-) diff --git a/app/controllers/api/vcs.php b/app/controllers/api/vcs.php index 8fc05d314f..d9d4b01763 100644 --- a/app/controllers/api/vcs.php +++ b/app/controllers/api/vcs.php @@ -436,7 +436,6 @@ $createGitDeployments = function (GitHub $github, string $providerInstallationId } } - ComputeBase::updateEmptyManualRule($project, $resource, $deployment, $dbForPlatform, $authorization); if ($resource->getCollection() === 'sites' && !empty($latestCommentId) && !empty($previewRuleId)) { $retries = 0; diff --git a/src/Appwrite/Platform/Modules/Compute/Base.php b/src/Appwrite/Platform/Modules/Compute/Base.php index f31617ce7a..e09e74ccd6 100644 --- a/src/Appwrite/Platform/Modules/Compute/Base.php +++ b/src/Appwrite/Platform/Modules/Compute/Base.php @@ -52,7 +52,7 @@ class Base extends Action return $allowedSpecifications[0] ?? APP_COMPUTE_SPECIFICATION_DEFAULT; } - public function redeployVcsFunction(Request $request, Document $function, Document $project, Document $installation, Database $dbForProject, Database $dbForPlatform, Build $queueForBuilds, Document $template, GitHub $github, bool $activate, Authorization $authorization, string $referenceType = 'branch', string $reference = ''): Document + public function redeployVcsFunction(Request $request, Document $function, Document $project, Document $installation, Database $dbForProject, Build $queueForBuilds, Document $template, GitHub $github, bool $activate, string $referenceType = 'branch', string $reference = ''): Document { $deploymentId = ID::unique(); $entrypoint = $function->getAttribute('entrypoint', ''); @@ -133,8 +133,6 @@ class Base extends Action ->setAttribute('latestDeploymentStatus', $deployment->getAttribute('status', '')); $dbForProject->updateDocument('functions', $function->getId(), $function); - $this->updateEmptyManualRule($project, $function, $deployment, $dbForPlatform, $authorization); - $queueForBuilds ->setType(BUILD_TYPE_DEPLOYMENT) ->setResource($function) diff --git a/src/Appwrite/Platform/Modules/Functions/Http/Deployments/Create.php b/src/Appwrite/Platform/Modules/Functions/Http/Deployments/Create.php index 7db03ced5d..50a0dc1dcb 100644 --- a/src/Appwrite/Platform/Modules/Functions/Http/Deployments/Create.php +++ b/src/Appwrite/Platform/Modules/Functions/Http/Deployments/Create.php @@ -304,8 +304,6 @@ class Create extends Action } } - $this->updateEmptyManualRule($project, $function, $deployment, $dbForPlatform, $authorization); - $metadata = null; $queueForEvents diff --git a/src/Appwrite/Platform/Modules/Functions/Http/Deployments/Template/Create.php b/src/Appwrite/Platform/Modules/Functions/Http/Deployments/Template/Create.php index fe69cc74a6..06ae7566f7 100644 --- a/src/Appwrite/Platform/Modules/Functions/Http/Deployments/Template/Create.php +++ b/src/Appwrite/Platform/Modules/Functions/Http/Deployments/Template/Create.php @@ -131,7 +131,6 @@ class Create extends Base template: $template, github: $github, activate: $activate, - authorization: $authorization, referenceType: $type, reference: $reference ); diff --git a/src/Appwrite/Platform/Modules/Functions/Http/Deployments/Vcs/Create.php b/src/Appwrite/Platform/Modules/Functions/Http/Deployments/Vcs/Create.php index d257b87114..6106481ddf 100644 --- a/src/Appwrite/Platform/Modules/Functions/Http/Deployments/Vcs/Create.php +++ b/src/Appwrite/Platform/Modules/Functions/Http/Deployments/Vcs/Create.php @@ -72,7 +72,6 @@ class Create extends Base ->inject('queueForEvents') ->inject('queueForBuilds') ->inject('gitHub') - ->inject('authorization') ->callback($this->action(...)); } @@ -89,7 +88,7 @@ class Create extends Base Event $queueForEvents, Build $queueForBuilds, GitHub $github, - Authorization $authorization + ) { $function = $dbForProject->getDocument('functions', $functionId); @@ -111,7 +110,6 @@ class Create extends Base template: $template, github: $github, activate: $activate, - authorization: $authorization, reference: $reference, referenceType: $type ); diff --git a/src/Appwrite/Platform/Modules/Functions/Http/Functions/Update.php b/src/Appwrite/Platform/Modules/Functions/Http/Functions/Update.php index 2338c5ce45..d182bb67ea 100644 --- a/src/Appwrite/Platform/Modules/Functions/Http/Functions/Update.php +++ b/src/Appwrite/Platform/Modules/Functions/Http/Functions/Update.php @@ -275,7 +275,7 @@ class Update extends Base // Redeploy logic if (!$isConnected && !empty($providerRepositoryId)) { - $this->redeployVcsFunction($request, $function, $project, $installation, $dbForProject, $dbForPlatform, $queueForBuilds, new Document(), $github, true, $authorization); + $this->redeployVcsFunction($request, $function, $project, $installation, $dbForProject, $queueForBuilds, new Document(), $github, true); } // Inform scheduler if function is still active diff --git a/src/Appwrite/Platform/Modules/Sites/Http/Deployments/Create.php b/src/Appwrite/Platform/Modules/Sites/Http/Deployments/Create.php index 7aff1888b1..af339df2d5 100644 --- a/src/Appwrite/Platform/Modules/Sites/Http/Deployments/Create.php +++ b/src/Appwrite/Platform/Modules/Sites/Http/Deployments/Create.php @@ -80,7 +80,6 @@ class Create extends Action ->inject('request') ->inject('response') ->inject('dbForProject') - ->inject('dbForPlatform') ->inject('project') ->inject('queueForEvents') ->inject('deviceForSites') @@ -101,7 +100,6 @@ class Create extends Action Request $request, Response $response, Database $dbForProject, - Database $dbForPlatform, Document $project, Event $queueForEvents, Device $deviceForSites, @@ -367,7 +365,7 @@ class Create extends Action } } - $this->updateEmptyManualRule($project, $site, $deployment, $dbForPlatform, $authorization); + $metadata = null; diff --git a/src/Appwrite/Platform/Modules/Sites/Http/Sites/Update.php b/src/Appwrite/Platform/Modules/Sites/Http/Sites/Update.php index 6a5c72ce07..c2dca0b7cf 100644 --- a/src/Appwrite/Platform/Modules/Sites/Http/Sites/Update.php +++ b/src/Appwrite/Platform/Modules/Sites/Http/Sites/Update.php @@ -274,7 +274,7 @@ class Update extends Base // Redeploy logic if (!$isConnected && !empty($providerRepositoryId)) { - $this->redeployVcsFunction($request, $site, $project, $installation, $dbForProject, $dbForPlatform, $queueForBuilds, new Document(), $github, true, $authorization); + $this->redeployVcsFunction($request, $site, $project, $installation, $dbForProject, $queueForBuilds, new Document(), $github, true); } $queueForEvents->setParam('siteId', $site->getId()); From d3fac8ae079fdde976fd30a450cdf32d6aa315c6 Mon Sep 17 00:00:00 2001 From: shimon Date: Fri, 28 Nov 2025 18:13:52 +0200 Subject: [PATCH 017/220] Refactor: Clean up code formatting in Compute, Functions, and Sites modules --- src/Appwrite/Platform/Modules/Compute/Base.php | 2 +- .../Platform/Modules/Functions/Http/Deployments/Vcs/Create.php | 1 - src/Appwrite/Platform/Modules/Sites/Http/Deployments/Create.php | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/Appwrite/Platform/Modules/Compute/Base.php b/src/Appwrite/Platform/Modules/Compute/Base.php index e09e74ccd6..ac6c2d4396 100644 --- a/src/Appwrite/Platform/Modules/Compute/Base.php +++ b/src/Appwrite/Platform/Modules/Compute/Base.php @@ -52,7 +52,7 @@ class Base extends Action return $allowedSpecifications[0] ?? APP_COMPUTE_SPECIFICATION_DEFAULT; } - public function redeployVcsFunction(Request $request, Document $function, Document $project, Document $installation, Database $dbForProject, Build $queueForBuilds, Document $template, GitHub $github, bool $activate, string $referenceType = 'branch', string $reference = ''): Document + public function redeployVcsFunction(Request $request, Document $function, Document $project, Document $installation, Database $dbForProject, Build $queueForBuilds, Document $template, GitHub $github, bool $activate, string $referenceType = 'branch', string $reference = ''): Document { $deploymentId = ID::unique(); $entrypoint = $function->getAttribute('entrypoint', ''); diff --git a/src/Appwrite/Platform/Modules/Functions/Http/Deployments/Vcs/Create.php b/src/Appwrite/Platform/Modules/Functions/Http/Deployments/Vcs/Create.php index 6106481ddf..f9e0f72cdc 100644 --- a/src/Appwrite/Platform/Modules/Functions/Http/Deployments/Vcs/Create.php +++ b/src/Appwrite/Platform/Modules/Functions/Http/Deployments/Vcs/Create.php @@ -88,7 +88,6 @@ class Create extends Base Event $queueForEvents, Build $queueForBuilds, GitHub $github, - ) { $function = $dbForProject->getDocument('functions', $functionId); diff --git a/src/Appwrite/Platform/Modules/Sites/Http/Deployments/Create.php b/src/Appwrite/Platform/Modules/Sites/Http/Deployments/Create.php index af339df2d5..ac01ccc2db 100644 --- a/src/Appwrite/Platform/Modules/Sites/Http/Deployments/Create.php +++ b/src/Appwrite/Platform/Modules/Sites/Http/Deployments/Create.php @@ -365,7 +365,7 @@ class Create extends Action } } - + $metadata = null; From c5a45aaded603dc8babc7dea87f0c8573db57a06 Mon Sep 17 00:00:00 2001 From: shimon Date: Sat, 29 Nov 2025 19:13:18 +0200 Subject: [PATCH 018/220] Refactor: Remove unused parameters and clean up code in TablesDB and Sites modules --- .../Databases/Http/TablesDB/Tables/Indexes/Create.php | 10 ---------- .../Platform/Modules/Sites/Http/Deployments/Create.php | 2 ++ .../Platform/Modules/Sites/Http/Sites/Update.php | 4 +--- src/Appwrite/Utopia/Request/Filters/V20.php | 4 ++-- .../Services/Projects/ProjectsConsoleClientTest.php | 8 ++++---- 5 files changed, 9 insertions(+), 19 deletions(-) diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Indexes/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Indexes/Create.php index 165f014320..e9d82f55ea 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Indexes/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Indexes/Create.php @@ -2,8 +2,6 @@ namespace Appwrite\Platform\Modules\Databases\Http\TablesDB\Tables\Indexes; -use Appwrite\Event\Database as EventDatabase; -use Appwrite\Event\Event; use Appwrite\Platform\Modules\Databases\Http\Databases\Collections\Indexes\Create as IndexCreate; use Appwrite\SDK\AuthType; use Appwrite\SDK\ContentType; @@ -11,7 +9,6 @@ use Appwrite\SDK\Method; use Appwrite\SDK\Response as SDKResponse; use Appwrite\Utopia\Response as UtopiaResponse; use Utopia\Database\Database; -use Utopia\Database\Validator\Authorization; use Utopia\Database\Validator\Key; use Utopia\Database\Validator\UID; use Utopia\Swoole\Response as SwooleResponse; @@ -73,11 +70,4 @@ class Create extends IndexCreate ->callback($this->action(...)); } - public function action(string $databaseId, string $tableId, string $key, string $type, array $columns, array $orders, array $lengths, UtopiaResponse $response, Database $dbForProject, EventDatabase $queueForDatabase, Event $queueForEvents, Authorization $authorization): void - { - // Map TablesDB parameters to Collections API parameters - // tableId -> collectionId - // columns -> attributes - parent::action($databaseId, $tableId, $key, $type, $columns, $orders, $lengths, $response, $dbForProject, $queueForDatabase, $queueForEvents, $authorization); - } } diff --git a/src/Appwrite/Platform/Modules/Sites/Http/Deployments/Create.php b/src/Appwrite/Platform/Modules/Sites/Http/Deployments/Create.php index ac01ccc2db..8c2ca2d878 100644 --- a/src/Appwrite/Platform/Modules/Sites/Http/Deployments/Create.php +++ b/src/Appwrite/Platform/Modules/Sites/Http/Deployments/Create.php @@ -80,6 +80,7 @@ class Create extends Action ->inject('request') ->inject('response') ->inject('dbForProject') + ->inject('dbForPlatform') ->inject('project') ->inject('queueForEvents') ->inject('deviceForSites') @@ -100,6 +101,7 @@ class Create extends Action Request $request, Response $response, Database $dbForProject, + Database $dbForPlatform, Document $project, Event $queueForEvents, Device $deviceForSites, diff --git a/src/Appwrite/Platform/Modules/Sites/Http/Sites/Update.php b/src/Appwrite/Platform/Modules/Sites/Http/Sites/Update.php index c2dca0b7cf..72ec04a2a5 100644 --- a/src/Appwrite/Platform/Modules/Sites/Http/Sites/Update.php +++ b/src/Appwrite/Platform/Modules/Sites/Http/Sites/Update.php @@ -97,7 +97,6 @@ class Update extends Base ->inject('dbForPlatform') ->inject('gitHub') ->inject('executor') - ->inject('authorization') ->callback($this->action(...)); } @@ -128,8 +127,7 @@ class Update extends Base Build $queueForBuilds, Database $dbForPlatform, GitHub $github, - Executor $executor, - Authorization $authorization + Executor $executor ) { if (!empty($adapter)) { $configFramework = Config::getParam('frameworks')[$framework] ?? []; diff --git a/src/Appwrite/Utopia/Request/Filters/V20.php b/src/Appwrite/Utopia/Request/Filters/V20.php index e130178083..dda4163d9b 100644 --- a/src/Appwrite/Utopia/Request/Filters/V20.php +++ b/src/Appwrite/Utopia/Request/Filters/V20.php @@ -149,10 +149,10 @@ class V20 extends Filter } try { - $collection = $dbForProject->getDocument( + $collection = $database = $dbForProject->getAuthorization()->skip(fn () =>$dbForProject->getDocument( 'database_' . $database->getSequence(), $collectionId - ); + )); if ($collection->isEmpty()) { return []; } diff --git a/tests/e2e/Services/Projects/ProjectsConsoleClientTest.php b/tests/e2e/Services/Projects/ProjectsConsoleClientTest.php index 2bd219a380..91dce5c09c 100644 --- a/tests/e2e/Services/Projects/ProjectsConsoleClientTest.php +++ b/tests/e2e/Services/Projects/ProjectsConsoleClientTest.php @@ -776,7 +776,7 @@ class ProjectsConsoleClientTest extends Scope ], $this->getHeaders())); $this->assertEquals(200, $response['headers']['status-code']); - $this->assertEquals('Account Verification for {{project}}', $response['body']['subject']); + $this->assertEquals('Account Verification', $response['body']['subject']); $this->assertEquals('', $response['body']['senderEmail']); $this->assertEquals('verification', $response['body']['type']); $this->assertEquals('en-us', $response['body']['locale']); @@ -879,7 +879,7 @@ class ProjectsConsoleClientTest extends Scope $this->assertEquals(200, $response['headers']['status-code']); $this->assertNotEmpty($response['body']['$id']); - $this->assertEquals('Project Test', $response['body']['name']); + $this->assertEquals('Project Test 2', $response['body']['name']); $this->assertArrayHasKey('platforms', $response['body']); $this->assertArrayHasKey('webhooks', $response['body']); $this->assertArrayHasKey('keys', $response['body']); @@ -3132,7 +3132,7 @@ class ProjectsConsoleClientTest extends Scope $this->assertContains('users.write', $response['body']['scopes']); $this->assertContains('collections.read', $response['body']['scopes']); $this->assertContains('tables.read', $response['body']['scopes']); - $this->assertCount(4, $response['body']['scopes']); + $this->assertCount(3, $response['body']['scopes']); $this->assertArrayHasKey('sdks', $response['body']); $this->assertEmpty($response['body']['sdks']); $this->assertArrayHasKey('accessedAt', $response['body']); @@ -3151,7 +3151,7 @@ class ProjectsConsoleClientTest extends Scope $this->assertContains('users.write', $response['body']['scopes']); $this->assertContains('collections.read', $response['body']['scopes']); $this->assertContains('tables.read', $response['body']['scopes']); - $this->assertCount(4, $response['body']['scopes']); + $this->assertCount(3, $response['body']['scopes']); $this->assertArrayHasKey('sdks', $response['body']); $this->assertEmpty($response['body']['sdks']); $this->assertArrayHasKey('accessedAt', $response['body']); From b061f95f6dedb4aca9a0f8b1184e917435b828b9 Mon Sep 17 00:00:00 2001 From: shimon Date: Sat, 29 Nov 2025 20:43:59 +0200 Subject: [PATCH 019/220] Refactor: Add missing Query import in Compute module and fix code formatting in V20 filter --- src/Appwrite/Platform/Modules/Compute/Base.php | 1 + src/Appwrite/Utopia/Request/Filters/V20.php | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Appwrite/Platform/Modules/Compute/Base.php b/src/Appwrite/Platform/Modules/Compute/Base.php index ac6c2d4396..ff4766414c 100644 --- a/src/Appwrite/Platform/Modules/Compute/Base.php +++ b/src/Appwrite/Platform/Modules/Compute/Base.php @@ -13,6 +13,7 @@ use Utopia\Database\Exception\Duplicate; use Utopia\Database\Helpers\ID; use Utopia\Database\Helpers\Permission; use Utopia\Database\Helpers\Role; +use Utopia\Database\Query; use Utopia\Database\Validator\Authorization; use Utopia\Swoole\Request; use Utopia\System\System; diff --git a/src/Appwrite/Utopia/Request/Filters/V20.php b/src/Appwrite/Utopia/Request/Filters/V20.php index dda4163d9b..e3d5fe2f79 100644 --- a/src/Appwrite/Utopia/Request/Filters/V20.php +++ b/src/Appwrite/Utopia/Request/Filters/V20.php @@ -149,7 +149,7 @@ class V20 extends Filter } try { - $collection = $database = $dbForProject->getAuthorization()->skip(fn () =>$dbForProject->getDocument( + $collection = $database = $dbForProject->getAuthorization()->skip(fn () => $dbForProject->getDocument( 'database_' . $database->getSequence(), $collectionId )); From 5b2fdf7e5b37ab2e4eff91b49199e8d41765f87e Mon Sep 17 00:00:00 2001 From: shimon Date: Mon, 1 Dec 2025 11:19:25 +0200 Subject: [PATCH 020/220] tmp debug health db api --- app/controllers/api/health.php | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/app/controllers/api/health.php b/app/controllers/api/health.php index 765688e1ee..68324aeb96 100644 --- a/app/controllers/api/health.php +++ b/app/controllers/api/health.php @@ -124,13 +124,25 @@ App::get('/v1/health/db') ]); } else { $failures[] = $database; + // Add failure to output instead of throwing + $output[] = new Document([ + 'name' => $key . " ($database)", + 'status' => 'fail', + 'ping' => 0 + ]); } - } catch (\Throwable) { + } catch (\Throwable $e) { $failures[] = $database; + // Add failure to output instead of throwing + $output[] = new Document([ + 'name' => $key . " ($database)", + 'status' => 'fail', + 'ping' => 0 + ]); } } } - + if (!empty($failures)) { throw new Exception(Exception::GENERAL_SERVER_ERROR, 'DB failure on: ' . implode(", ", $failures)); } From 21ef33ea45fd34741e5a2e1bcc04a33ab593b10c Mon Sep 17 00:00:00 2001 From: shimon Date: Mon, 1 Dec 2025 11:34:09 +0200 Subject: [PATCH 021/220] debug --- app/controllers/api/health.php | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/app/controllers/api/health.php b/app/controllers/api/health.php index 68324aeb96..d573d230b8 100644 --- a/app/controllers/api/health.php +++ b/app/controllers/api/health.php @@ -124,26 +124,16 @@ App::get('/v1/health/db') ]); } else { $failures[] = $database; - // Add failure to output instead of throwing - $output[] = new Document([ - 'name' => $key . " ($database)", - 'status' => 'fail', - 'ping' => 0 - ]); } - } catch (\Throwable $e) { + } catch (\Throwable) { + var_dump($key . " ($database)",); $failures[] = $database; - // Add failure to output instead of throwing - $output[] = new Document([ - 'name' => $key . " ($database)", - 'status' => 'fail', - 'ping' => 0 - ]); } } } - + if (!empty($failures)) { + throw new Exception(Exception::GENERAL_SERVER_ERROR, 'DB failure on: ' . implode(", ", $failures)); } From e4755c624f173e357429fb606ec05734f663affe Mon Sep 17 00:00:00 2001 From: shimon Date: Mon, 1 Dec 2025 11:45:01 +0200 Subject: [PATCH 022/220] debug --- app/controllers/api/health.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/controllers/api/health.php b/app/controllers/api/health.php index d573d230b8..81f7eee02d 100644 --- a/app/controllers/api/health.php +++ b/app/controllers/api/health.php @@ -126,14 +126,14 @@ App::get('/v1/health/db') $failures[] = $database; } } catch (\Throwable) { - var_dump($key . " ($database)",); + var_dump($key . " ($database)"); $failures[] = $database; } } } if (!empty($failures)) { - + var_dump($failures); throw new Exception(Exception::GENERAL_SERVER_ERROR, 'DB failure on: ' . implode(", ", $failures)); } From 27d88a421e310415d5cd816e26d4b646e2a79327 Mon Sep 17 00:00:00 2001 From: shimon Date: Mon, 1 Dec 2025 11:59:21 +0200 Subject: [PATCH 023/220] debug --- app/controllers/api/health.php | 2 +- tests/e2e/Services/Health/HealthCustomServerTest.php | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/app/controllers/api/health.php b/app/controllers/api/health.php index 81f7eee02d..3fbd9d6443 100644 --- a/app/controllers/api/health.php +++ b/app/controllers/api/health.php @@ -134,7 +134,7 @@ App::get('/v1/health/db') if (!empty($failures)) { var_dump($failures); - throw new Exception(Exception::GENERAL_SERVER_ERROR, 'DB failure on: ' . implode(", ", $failures)); + //throw new Exception(Exception::GENERAL_SERVER_ERROR, 'DB failure on: ' . implode(", ", $failures)); } $response->dynamic(new Document([ diff --git a/tests/e2e/Services/Health/HealthCustomServerTest.php b/tests/e2e/Services/Health/HealthCustomServerTest.php index 63516f624d..1164e015a7 100644 --- a/tests/e2e/Services/Health/HealthCustomServerTest.php +++ b/tests/e2e/Services/Health/HealthCustomServerTest.php @@ -40,6 +40,7 @@ class HealthCustomServerTest extends Scope 'content-type' => 'application/json', 'x-appwrite-project' => $this->getProject()['$id'], ], $this->getHeaders()), []); + var_dump($response['body']); $this->assertEquals(200, $response['headers']['status-code']); $this->assertEquals('pass', $response['body']['statuses'][0]['status']); $this->assertIsInt($response['body']['statuses'][0]['ping']); From eb1c119c21959dd4150f69301c0a24cc36d9fbc2 Mon Sep 17 00:00:00 2001 From: shimon Date: Mon, 1 Dec 2025 12:01:27 +0200 Subject: [PATCH 024/220] debug --- tests/e2e/Services/Health/HealthCustomServerTest.php | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/e2e/Services/Health/HealthCustomServerTest.php b/tests/e2e/Services/Health/HealthCustomServerTest.php index 1164e015a7..3a25cd0d3c 100644 --- a/tests/e2e/Services/Health/HealthCustomServerTest.php +++ b/tests/e2e/Services/Health/HealthCustomServerTest.php @@ -41,6 +41,7 @@ class HealthCustomServerTest extends Scope 'x-appwrite-project' => $this->getProject()['$id'], ], $this->getHeaders()), []); var_dump($response['body']); + $this->assertEquals(200, $response['headers']['status-code']); $this->assertEquals('pass', $response['body']['statuses'][0]['status']); $this->assertIsInt($response['body']['statuses'][0]['ping']); From 2563a8f9678a20c27e368969f8acd61c6e1b53b6 Mon Sep 17 00:00:00 2001 From: shimon Date: Mon, 1 Dec 2025 13:11:17 +0200 Subject: [PATCH 025/220] health api fix --- app/controllers/api/health.php | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/app/controllers/api/health.php b/app/controllers/api/health.php index 3fbd9d6443..9941a1bbf0 100644 --- a/app/controllers/api/health.php +++ b/app/controllers/api/health.php @@ -110,6 +110,9 @@ App::get('/v1/health/db') ]; foreach ($configs as $key => $config) { + if (!is_array($config)) { + continue; + } foreach ($config as $database) { try { $adapter = new DatabasePool($pools->get($database)); @@ -120,7 +123,7 @@ App::get('/v1/health/db') $output[] = new Document([ 'name' => $key . " ($database)", 'status' => 'pass', - 'ping' => \round((\microtime(true) - $checkStart) / 1000) + 'ping' => \round((\microtime(true) - $checkStart) * 1000) ]); } else { $failures[] = $database; @@ -172,6 +175,9 @@ App::get('/v1/health/cache') ]; foreach ($configs as $key => $config) { + if (!is_array($config)) { + continue; + } foreach ($config as $cache) { try { $adapter = new CachePool($pools->get($cache)); @@ -182,7 +188,7 @@ App::get('/v1/health/cache') $output[] = new Document([ 'name' => $key . " ($cache)", 'status' => 'pass', - 'ping' => \round((\microtime(true) - $checkStart) / 1000) + 'ping' => \round((\microtime(true) - $checkStart) * 1000) ]); } else { $failures[] = $cache; @@ -232,6 +238,9 @@ App::get('/v1/health/pubsub') ]; foreach ($configs as $key => $config) { + if (!is_array($config)) { + continue; + } foreach ($config as $pubsub) { try { $adapter = new PubSubPool($pools->get($pubsub)); @@ -242,7 +251,7 @@ App::get('/v1/health/pubsub') $output[] = new Document([ 'name' => $key . " ($pubsub)", 'status' => 'pass', - 'ping' => \round((\microtime(true) - $checkStart) / 1000) + 'ping' => \round((\microtime(true) - $checkStart) * 1000) ]); } else { $failures[] = $pubsub; @@ -824,7 +833,7 @@ App::get('/v1/health/storage/local') $output = [ 'status' => 'pass', - 'ping' => \round((\microtime(true) - $checkStart) / 1000) + 'ping' => \round((\microtime(true) - $checkStart) * 1000) ]; $response->dynamic(new Document($output), Response::MODEL_HEALTH_STATUS); @@ -876,7 +885,7 @@ App::get('/v1/health/storage') $output = [ 'status' => 'pass', - 'ping' => \round((\microtime(true) - $checkStart) / 1000) + 'ping' => \round((\microtime(true) - $checkStart) * 1000) ]; $response->dynamic(new Document($output), Response::MODEL_HEALTH_STATUS); From 22c90ca7ad313bdad73c6c9d34bf59a5f5f27750 Mon Sep 17 00:00:00 2001 From: shimon Date: Mon, 1 Dec 2025 13:23:58 +0200 Subject: [PATCH 026/220] debug --- app/controllers/api/health.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/controllers/api/health.php b/app/controllers/api/health.php index 9941a1bbf0..06de2c8f40 100644 --- a/app/controllers/api/health.php +++ b/app/controllers/api/health.php @@ -123,21 +123,21 @@ App::get('/v1/health/db') $output[] = new Document([ 'name' => $key . " ($database)", 'status' => 'pass', + 'checkStart' => $checkStart, + 'now' => \microtime(true), 'ping' => \round((\microtime(true) - $checkStart) * 1000) ]); } else { $failures[] = $database; } } catch (\Throwable) { - var_dump($key . " ($database)"); $failures[] = $database; } } } if (!empty($failures)) { - var_dump($failures); - //throw new Exception(Exception::GENERAL_SERVER_ERROR, 'DB failure on: ' . implode(", ", $failures)); + throw new Exception(Exception::GENERAL_SERVER_ERROR, 'DB failure on: ' . implode(", ", $failures)); } $response->dynamic(new Document([ From 2dfa7d954207142dd05a0f54b840e05367a5c25f Mon Sep 17 00:00:00 2001 From: shimon Date: Mon, 1 Dec 2025 13:40:34 +0200 Subject: [PATCH 027/220] Enhance health check logic to allow partial database failures without throwing an error, improving resilience in environments with multiple databases. --- app/controllers/api/health.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/controllers/api/health.php b/app/controllers/api/health.php index 06de2c8f40..dc1113ed67 100644 --- a/app/controllers/api/health.php +++ b/app/controllers/api/health.php @@ -136,7 +136,9 @@ App::get('/v1/health/db') } } - if (!empty($failures)) { + // Only throw error if ALL databases failed (no successful pings) + // This allows partial failures in environments where not all DBs are ready + if (!empty($failures) && empty($output)) { throw new Exception(Exception::GENERAL_SERVER_ERROR, 'DB failure on: ' . implode(", ", $failures)); } From beea3abfc76d897638a1566f03bd8f4cc58439fc Mon Sep 17 00:00:00 2001 From: shimon Date: Mon, 1 Dec 2025 15:50:15 +0200 Subject: [PATCH 028/220] remove debug prints --- app/controllers/api/health.php | 11 ----------- composer.lock | 12 ++++++------ tests/e2e/Services/Health/HealthCustomServerTest.php | 3 +-- 3 files changed, 7 insertions(+), 19 deletions(-) diff --git a/app/controllers/api/health.php b/app/controllers/api/health.php index dc1113ed67..1bc0b0ee81 100644 --- a/app/controllers/api/health.php +++ b/app/controllers/api/health.php @@ -110,9 +110,6 @@ App::get('/v1/health/db') ]; foreach ($configs as $key => $config) { - if (!is_array($config)) { - continue; - } foreach ($config as $database) { try { $adapter = new DatabasePool($pools->get($database)); @@ -123,8 +120,6 @@ App::get('/v1/health/db') $output[] = new Document([ 'name' => $key . " ($database)", 'status' => 'pass', - 'checkStart' => $checkStart, - 'now' => \microtime(true), 'ping' => \round((\microtime(true) - $checkStart) * 1000) ]); } else { @@ -177,9 +172,6 @@ App::get('/v1/health/cache') ]; foreach ($configs as $key => $config) { - if (!is_array($config)) { - continue; - } foreach ($config as $cache) { try { $adapter = new CachePool($pools->get($cache)); @@ -240,9 +232,6 @@ App::get('/v1/health/pubsub') ]; foreach ($configs as $key => $config) { - if (!is_array($config)) { - continue; - } foreach ($config as $pubsub) { try { $adapter = new PubSubPool($pools->get($pubsub)); diff --git a/composer.lock b/composer.lock index b3678d693e..bfebc67918 100644 --- a/composer.lock +++ b/composer.lock @@ -6663,16 +6663,16 @@ }, { "name": "phpunit/phpunit", - "version": "9.6.29", + "version": "9.6.30", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "9ecfec57835a5581bc888ea7e13b51eb55ab9dd3" + "reference": "b69489b312503bf8fa6d75a76916919d7d2fa6d4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/9ecfec57835a5581bc888ea7e13b51eb55ab9dd3", - "reference": "9ecfec57835a5581bc888ea7e13b51eb55ab9dd3", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/b69489b312503bf8fa6d75a76916919d7d2fa6d4", + "reference": "b69489b312503bf8fa6d75a76916919d7d2fa6d4", "shasum": "" }, "require": { @@ -6746,7 +6746,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.29" + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.30" }, "funding": [ { @@ -6770,7 +6770,7 @@ "type": "tidelift" } ], - "time": "2025-09-24T06:29:11+00:00" + "time": "2025-12-01T07:35:08+00:00" }, { "name": "psr/cache", diff --git a/tests/e2e/Services/Health/HealthCustomServerTest.php b/tests/e2e/Services/Health/HealthCustomServerTest.php index 3a25cd0d3c..4b7062dc22 100644 --- a/tests/e2e/Services/Health/HealthCustomServerTest.php +++ b/tests/e2e/Services/Health/HealthCustomServerTest.php @@ -40,8 +40,7 @@ class HealthCustomServerTest extends Scope 'content-type' => 'application/json', 'x-appwrite-project' => $this->getProject()['$id'], ], $this->getHeaders()), []); - var_dump($response['body']); - + $this->assertEquals(200, $response['headers']['status-code']); $this->assertEquals('pass', $response['body']['statuses'][0]['status']); $this->assertIsInt($response['body']['statuses'][0]['ping']); From d472978c1a4cce7bab8c7f78f362e8ff0d10f651 Mon Sep 17 00:00:00 2001 From: shimon Date: Tue, 2 Dec 2025 09:29:24 +0200 Subject: [PATCH 029/220] debug --- tests/e2e/Scopes/ProjectCustom.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/e2e/Scopes/ProjectCustom.php b/tests/e2e/Scopes/ProjectCustom.php index c2b4896814..568b167b80 100644 --- a/tests/e2e/Scopes/ProjectCustom.php +++ b/tests/e2e/Scopes/ProjectCustom.php @@ -36,7 +36,7 @@ trait ProjectCustom $this->assertEquals(201, $team['headers']['status-code']); $this->assertEquals('Demo Project Team', $team['body']['name']); $this->assertNotEmpty($team['body']['$id']); - + var_dump(['regiom' => System::getEnv('_APP_REGION', 'default')]); $project = $this->client->call(Client::METHOD_POST, '/projects', [ 'origin' => 'http://localhost', 'content-type' => 'application/json', From 250a7da1ee4ba113ca800270189fd9df81fac785 Mon Sep 17 00:00:00 2001 From: shimon Date: Tue, 2 Dec 2025 09:39:16 +0200 Subject: [PATCH 030/220] debug --- tests/e2e/Scopes/ProjectCustom.php | 2 +- tests/e2e/Services/Realtime/RealtimeConsoleClientTest.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/e2e/Scopes/ProjectCustom.php b/tests/e2e/Scopes/ProjectCustom.php index 568b167b80..d803ad9ae1 100644 --- a/tests/e2e/Scopes/ProjectCustom.php +++ b/tests/e2e/Scopes/ProjectCustom.php @@ -36,7 +36,7 @@ trait ProjectCustom $this->assertEquals(201, $team['headers']['status-code']); $this->assertEquals('Demo Project Team', $team['body']['name']); $this->assertNotEmpty($team['body']['$id']); - var_dump(['regiom' => System::getEnv('_APP_REGION', 'default')]); + var_dump(['region' => System::getEnv('_APP_REGION', 'default')]); $project = $this->client->call(Client::METHOD_POST, '/projects', [ 'origin' => 'http://localhost', 'content-type' => 'application/json', diff --git a/tests/e2e/Services/Realtime/RealtimeConsoleClientTest.php b/tests/e2e/Services/Realtime/RealtimeConsoleClientTest.php index c2834a0228..718b7ea0d9 100644 --- a/tests/e2e/Services/Realtime/RealtimeConsoleClientTest.php +++ b/tests/e2e/Services/Realtime/RealtimeConsoleClientTest.php @@ -47,7 +47,7 @@ class RealtimeConsoleClientTest extends Scope ])); $response = json_decode($client->receive(), true); - + var_dump($response); $this->assertArrayHasKey('type', $response); $this->assertArrayHasKey('data', $response); $this->assertEquals('response', $response['type']); From e0e9b2ba6fd74c6c57cd6b9c5bb08652120b6238 Mon Sep 17 00:00:00 2001 From: shimon Date: Tue, 2 Dec 2025 10:56:32 +0200 Subject: [PATCH 031/220] Remove debug output from RealtimeConsoleClientTest --- tests/e2e/Services/Realtime/RealtimeConsoleClientTest.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/e2e/Services/Realtime/RealtimeConsoleClientTest.php b/tests/e2e/Services/Realtime/RealtimeConsoleClientTest.php index 718b7ea0d9..c2834a0228 100644 --- a/tests/e2e/Services/Realtime/RealtimeConsoleClientTest.php +++ b/tests/e2e/Services/Realtime/RealtimeConsoleClientTest.php @@ -47,7 +47,7 @@ class RealtimeConsoleClientTest extends Scope ])); $response = json_decode($client->receive(), true); - var_dump($response); + $this->assertArrayHasKey('type', $response); $this->assertArrayHasKey('data', $response); $this->assertEquals('response', $response['type']); From c34649cb50e452edcc517e2a65c88ae48c66e889 Mon Sep 17 00:00:00 2001 From: shimon Date: Tue, 2 Dec 2025 12:46:59 +0200 Subject: [PATCH 032/220] remove debug prints --- tests/e2e/Scopes/ProjectCustom.php | 2 +- tests/e2e/Services/Realtime/RealtimeConsoleClientTest.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/e2e/Scopes/ProjectCustom.php b/tests/e2e/Scopes/ProjectCustom.php index d803ad9ae1..c2b4896814 100644 --- a/tests/e2e/Scopes/ProjectCustom.php +++ b/tests/e2e/Scopes/ProjectCustom.php @@ -36,7 +36,7 @@ trait ProjectCustom $this->assertEquals(201, $team['headers']['status-code']); $this->assertEquals('Demo Project Team', $team['body']['name']); $this->assertNotEmpty($team['body']['$id']); - var_dump(['region' => System::getEnv('_APP_REGION', 'default')]); + $project = $this->client->call(Client::METHOD_POST, '/projects', [ 'origin' => 'http://localhost', 'content-type' => 'application/json', diff --git a/tests/e2e/Services/Realtime/RealtimeConsoleClientTest.php b/tests/e2e/Services/Realtime/RealtimeConsoleClientTest.php index 718b7ea0d9..c2834a0228 100644 --- a/tests/e2e/Services/Realtime/RealtimeConsoleClientTest.php +++ b/tests/e2e/Services/Realtime/RealtimeConsoleClientTest.php @@ -47,7 +47,7 @@ class RealtimeConsoleClientTest extends Scope ])); $response = json_decode($client->receive(), true); - var_dump($response); + $this->assertArrayHasKey('type', $response); $this->assertArrayHasKey('data', $response); $this->assertEquals('response', $response['type']); From 7041cae48cff47ca1630a87269ee9ea22f162ab6 Mon Sep 17 00:00:00 2001 From: shimon Date: Tue, 2 Dec 2025 12:58:55 +0200 Subject: [PATCH 033/220] Refactor health check logic to simplify database failure handling --- app/controllers/api/health.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/api/health.php b/app/controllers/api/health.php index 1bc0b0ee81..a7da3f1ac6 100644 --- a/app/controllers/api/health.php +++ b/app/controllers/api/health.php @@ -133,7 +133,7 @@ App::get('/v1/health/db') // Only throw error if ALL databases failed (no successful pings) // This allows partial failures in environments where not all DBs are ready - if (!empty($failures) && empty($output)) { + if (!empty($failures)) { throw new Exception(Exception::GENERAL_SERVER_ERROR, 'DB failure on: ' . implode(", ", $failures)); } From 13f886f07ff4b8c519deba0c4f962fd510566817 Mon Sep 17 00:00:00 2001 From: shimon Date: Tue, 2 Dec 2025 22:02:46 +0200 Subject: [PATCH 034/220] Add authorization handling in Realtime connection management --- app/realtime.php | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/app/realtime.php b/app/realtime.php index 6dfcb459d9..f704019154 100644 --- a/app/realtime.php +++ b/app/realtime.php @@ -583,6 +583,8 @@ $server->onOpen(function (int $connection, SwooleRequest $request) use ($server, } $realtime->subscribe($project->getId(), $connection, $roles, $channels); + + $realtime->connections[$connection]['authorization'] = $authorization; $user = empty($user->getId()) ? null : $response->output($user, Response::MODEL_ACCOUNT); @@ -641,12 +643,29 @@ $server->onOpen(function (int $connection, SwooleRequest $request) use ($server, $server->onMessage(function (int $connection, string $message) use ($server, $register, $realtime, $containerId) { try { $response = new Response(new SwooleResponse()); - $projectId = $realtime->connections[$connection]['projectId']; + $projectId = $realtime->connections[$connection]['projectId'] ?? null; + + if (empty($projectId)) { + throw new Exception(Exception::REALTIME_POLICY_VIOLATION, 'Missing project ID in connection'); + } + + // Get authorization from connection (stored during onOpen) + $authorization = $realtime->connections[$connection]['authorization'] ?? null; + + if (empty($projectId)) { + throw new Exception(Exception::REALTIME_POLICY_VIOLATION, 'Aurhorization not found in connection'); + } + $database = getConsoleDB(); + $database->setAuthorization($authorization); if ($projectId !== 'console') { - $authorization = $database->getAuthorization(); $project = $authorization->skip(fn () => $database->getDocument('projects', $projectId)); + + if ($project->isEmpty()) { + throw new Exception(Exception::REALTIME_POLICY_VIOLATION, 'Project not found: ' . $projectId); + } + $database = getProjectDB($project); $database->setAuthorization($authorization); } else { From d483fbd43b9d88c5ed5a136337ca7efbf18f9693 Mon Sep 17 00:00:00 2001 From: shimon Date: Wed, 3 Dec 2025 18:22:46 +0200 Subject: [PATCH 035/220] Update composer.lock and refactor ScheduleBase class for improved schedule processing --- composer.lock | 28 ++--- src/Appwrite/Platform/Tasks/ScheduleBase.php | 118 +++++++++++-------- 2 files changed, 84 insertions(+), 62 deletions(-) diff --git a/composer.lock b/composer.lock index 4dccb29a1a..19e9a64c21 100644 --- a/composer.lock +++ b/composer.lock @@ -4952,16 +4952,16 @@ }, { "name": "utopia-php/storage", - "version": "0.18.14", + "version": "0.18.16", "source": { "type": "git", "url": "https://github.com/utopia-php/storage.git", - "reference": "4f14ec952c6f4006dd0613e55bbf7631814fbc00" + "reference": "0c7b8ad68de8e1eb23ccc8af9f27a30eb832930f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/utopia-php/storage/zipball/4f14ec952c6f4006dd0613e55bbf7631814fbc00", - "reference": "4f14ec952c6f4006dd0613e55bbf7631814fbc00", + "url": "https://api.github.com/repos/utopia-php/storage/zipball/0c7b8ad68de8e1eb23ccc8af9f27a30eb832930f", + "reference": "0c7b8ad68de8e1eb23ccc8af9f27a30eb832930f", "shasum": "" }, "require": { @@ -5004,9 +5004,9 @@ ], "support": { "issues": "https://github.com/utopia-php/storage/issues", - "source": "https://github.com/utopia-php/storage/tree/0.18.14" + "source": "https://github.com/utopia-php/storage/tree/0.18.16" }, - "time": "2025-10-07T10:21:47+00:00" + "time": "2025-12-03T02:15:45+00:00" }, { "name": "utopia-php/swoole", @@ -6663,16 +6663,16 @@ }, { "name": "phpunit/phpunit", - "version": "9.6.29", + "version": "9.6.30", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "9ecfec57835a5581bc888ea7e13b51eb55ab9dd3" + "reference": "b69489b312503bf8fa6d75a76916919d7d2fa6d4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/9ecfec57835a5581bc888ea7e13b51eb55ab9dd3", - "reference": "9ecfec57835a5581bc888ea7e13b51eb55ab9dd3", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/b69489b312503bf8fa6d75a76916919d7d2fa6d4", + "reference": "b69489b312503bf8fa6d75a76916919d7d2fa6d4", "shasum": "" }, "require": { @@ -6746,7 +6746,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.29" + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.30" }, "funding": [ { @@ -6770,7 +6770,7 @@ "type": "tidelift" } ], - "time": "2025-09-24T06:29:11+00:00" + "time": "2025-12-01T07:35:08+00:00" }, { "name": "psr/cache", @@ -8942,7 +8942,7 @@ ], "aliases": [], "minimum-stability": "stable", - "stability-flags": {}, + "stability-flags": [], "prefer-stable": false, "prefer-lowest": false, "platform": { @@ -8966,5 +8966,5 @@ "platform-overrides": { "php": "8.3" }, - "plugin-api-version": "2.6.0" + "plugin-api-version": "2.2.0" } diff --git a/src/Appwrite/Platform/Tasks/ScheduleBase.php b/src/Appwrite/Platform/Tasks/ScheduleBase.php index e9a0e1d333..641725e722 100644 --- a/src/Appwrite/Platform/Tasks/ScheduleBase.php +++ b/src/Appwrite/Platform/Tasks/ScheduleBase.php @@ -115,36 +115,7 @@ abstract class ScheduleBase extends Action private function collectSchedules(Database $dbForPlatform, callable $getProjectDB, string &$lastSyncUpdate, callable $isResourceBlocked): void { - // If we haven't synced yet, load all active schedules $initialLoad = $lastSyncUpdate === "0"; - - /** - * Extract only necessary attributes to lower memory used. - * - * @return array - * @throws Exception - * @var Document $schedule - */ - $getSchedule = function (Document $schedule) use ($dbForPlatform, $getProjectDB): array { - $project = $dbForPlatform->getDocument('projects', $schedule->getAttribute('projectId')); - - $resource = $getProjectDB($project)->getDocument( - static::getCollectionId(), - $schedule->getAttribute('resourceId') - ); - - return [ - '$sequence' => $schedule->getSequence(), - '$id' => $schedule->getId(), - 'resourceId' => $schedule->getAttribute('resourceId'), - 'schedule' => $schedule->getAttribute('schedule'), - 'active' => $schedule->getAttribute('active'), - 'resourceUpdatedAt' => $schedule->getAttribute('resourceUpdatedAt'), - 'project' => $project, // TODO: @Meldiron Send only ID to worker to reduce memory usage here - 'resource' => $resource, // TODO: @Meldiron Send only ID to worker to reduce memory usage here - ]; - }; - $loadStart = microtime(true); $time = DateTime::now(); @@ -152,6 +123,9 @@ abstract class ScheduleBase extends Action $sum = $limit; $total = 0; $latestDocument = null; + $collectionId = static::getCollectionId(); + + $schedulesToProcess = []; while ($sum === $limit) { $paginationQueries = [Query::limit($limit)]; @@ -160,8 +134,6 @@ abstract class ScheduleBase extends Action $paginationQueries[] = Query::cursorAfter($latestDocument); } - // Temporarly accepting both 'fra' and 'default' - // When all migrated, only use _APP_REGION with 'default' as default value $regions = [System::getEnv('_APP_REGION', 'default')]; if (!in_array('default', $regions)) { $regions[] = 'default'; @@ -179,7 +151,6 @@ abstract class ScheduleBase extends Action $paginationQueries[] = Query::greaterThanEqual('resourceUpdatedAt', $lastSyncUpdate); } - $collectionId = static::getCollectionId(); $schedules = $dbForPlatform->find('schedules', $paginationQueries); $sum = count($schedules); $total += $sum; @@ -189,32 +160,83 @@ abstract class ScheduleBase extends Action $updated = strtotime($existing['resourceUpdatedAt'] ?? '0') !== strtotime($schedule['resourceUpdatedAt'] ?? '0'); if ($existing === null || $updated) { - try { - $candidate = $getSchedule($schedule); - } catch (\Throwable $th) { - Console::error("Failed to load schedule for project {$schedule['projectId']} {$collectionId} {$schedule['resourceId']}"); - Console::error($th->getMessage()); - continue; - } - - if (!$candidate['active']) { + // Early filtering: skip if not active (only for updates, initial load already filters) + if (!$initialLoad && !$schedule->getAttribute('active', true)) { unset($this->schedules[$schedule->getSequence()]); continue; } - if ($isResourceBlocked($candidate['project'], $collectionId, $candidate['resourceId'])) { - unset($this->schedules[$schedule->getSequence()]); - continue; - } - - Console::info("Updating: {$schedule['resourceType']}::{$schedule['resourceId']}"); - $this->schedules[$schedule->getSequence()] = $candidate; + $schedulesToProcess[] = $schedule; } } $latestDocument = \end($schedules); } + if (empty($schedulesToProcess)) { + $lastSyncUpdate = $time; + $duration = microtime(true) - $loadStart; + $this->collectSchedulesTelemetryDuration->record($duration, ['initial' => $initialLoad, 'resourceType' => static::getSupportedResource()]); + $this->collectSchedulesTelemetryCount->record($total, ['initial' => $initialLoad, 'resourceType' => static::getSupportedResource()]); + Console::success("{$total} resources were loaded in " . $duration . " seconds"); + return; + } + + // Cache projects to avoid fetching the same project multiple times + $projectsCache = []; + + foreach ($schedulesToProcess as $schedule) { + $projectId = $schedule->getAttribute('projectId'); + + // Fetch project if not already cached + if (!isset($projectsCache[$projectId])) { + try { + $projectsCache[$projectId] = $dbForPlatform->getDocument('projects', $projectId); + } catch (\Throwable $th) { + Console::error("Failed to load project {$projectId}: " . $th->getMessage()); + continue; + } + } + + $project = $projectsCache[$projectId]; + if ($project === null) { + continue; + } + + try { + $dbForProject = $getProjectDB($project); + $resourceId = $schedule->getAttribute('resourceId'); + $resource = $dbForProject->getDocument($collectionId, $resourceId); + + $candidate = [ + '$sequence' => $schedule->getSequence(), + '$id' => $schedule->getId(), + 'resourceId' => $resourceId, + 'schedule' => $schedule->getAttribute('schedule'), + 'active' => $schedule->getAttribute('active'), + 'resourceUpdatedAt' => $schedule->getAttribute('resourceUpdatedAt'), + 'project' => $project, + 'resource' => $resource, + ]; + + // Early filtering checks + if (!$candidate['active']) { + unset($this->schedules[$schedule->getSequence()]); + continue; + } + + if ($isResourceBlocked($candidate['project'], $collectionId, $candidate['resourceId'])) { + unset($this->schedules[$schedule->getSequence()]); + continue; + } + + Console::info("loading: project:: " . $candidate['project']->getId() . " " . static::getSupportedResource() . "::{$candidate['resourceId']}"); + $this->schedules[$schedule->getSequence()] = $candidate; + } catch (\Throwable $th) { + Console::error("Failed to load schedule for project {$project->getId()} {$collectionId} {$schedule->getAttribute('resourceId')}: " . $th->getMessage()); + } + } + $lastSyncUpdate = $time; $duration = microtime(true) - $loadStart; $this->collectSchedulesTelemetryDuration->record($duration, ['initial' => $initialLoad, 'resourceType' => static::getSupportedResource()]); From 77face0f2d26b5ee9a68246995a355c3577d87ed Mon Sep 17 00:00:00 2001 From: shimon Date: Wed, 3 Dec 2025 18:27:56 +0200 Subject: [PATCH 036/220] Update utopia-php/storage to version 0.18.16 and clean up whitespace in realtime.php --- app/realtime.php | 10 +++++----- composer.lock | 12 ++++++------ 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/app/realtime.php b/app/realtime.php index f704019154..72a0e9ca58 100644 --- a/app/realtime.php +++ b/app/realtime.php @@ -583,7 +583,7 @@ $server->onOpen(function (int $connection, SwooleRequest $request) use ($server, } $realtime->subscribe($project->getId(), $connection, $roles, $channels); - + $realtime->connections[$connection]['authorization'] = $authorization; $user = empty($user->getId()) ? null : $response->output($user, Response::MODEL_ACCOUNT); @@ -644,11 +644,11 @@ $server->onMessage(function (int $connection, string $message) use ($server, $re try { $response = new Response(new SwooleResponse()); $projectId = $realtime->connections[$connection]['projectId'] ?? null; - + if (empty($projectId)) { throw new Exception(Exception::REALTIME_POLICY_VIOLATION, 'Missing project ID in connection'); } - + // Get authorization from connection (stored during onOpen) $authorization = $realtime->connections[$connection]['authorization'] ?? null; @@ -661,11 +661,11 @@ $server->onMessage(function (int $connection, string $message) use ($server, $re if ($projectId !== 'console') { $project = $authorization->skip(fn () => $database->getDocument('projects', $projectId)); - + if ($project->isEmpty()) { throw new Exception(Exception::REALTIME_POLICY_VIOLATION, 'Project not found: ' . $projectId); } - + $database = getProjectDB($project); $database->setAuthorization($authorization); } else { diff --git a/composer.lock b/composer.lock index bfebc67918..7be57539af 100644 --- a/composer.lock +++ b/composer.lock @@ -4952,16 +4952,16 @@ }, { "name": "utopia-php/storage", - "version": "0.18.14", + "version": "0.18.16", "source": { "type": "git", "url": "https://github.com/utopia-php/storage.git", - "reference": "4f14ec952c6f4006dd0613e55bbf7631814fbc00" + "reference": "0c7b8ad68de8e1eb23ccc8af9f27a30eb832930f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/utopia-php/storage/zipball/4f14ec952c6f4006dd0613e55bbf7631814fbc00", - "reference": "4f14ec952c6f4006dd0613e55bbf7631814fbc00", + "url": "https://api.github.com/repos/utopia-php/storage/zipball/0c7b8ad68de8e1eb23ccc8af9f27a30eb832930f", + "reference": "0c7b8ad68de8e1eb23ccc8af9f27a30eb832930f", "shasum": "" }, "require": { @@ -5004,9 +5004,9 @@ ], "support": { "issues": "https://github.com/utopia-php/storage/issues", - "source": "https://github.com/utopia-php/storage/tree/0.18.14" + "source": "https://github.com/utopia-php/storage/tree/0.18.16" }, - "time": "2025-10-07T10:21:47+00:00" + "time": "2025-12-03T02:15:45+00:00" }, { "name": "utopia-php/swoole", From e47802d1e19eca2b0ce38723b3bfc92dfe82b53d Mon Sep 17 00:00:00 2001 From: shimon Date: Wed, 3 Dec 2025 21:37:41 +0200 Subject: [PATCH 037/220] Refactor Realtime message handling to improve authorization preservation and simplify error handling --- app/realtime.php | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/app/realtime.php b/app/realtime.php index 72a0e9ca58..94ac86493d 100644 --- a/app/realtime.php +++ b/app/realtime.php @@ -614,6 +614,7 @@ $server->onOpen(function (int $connection, SwooleRequest $request) use ($server, $code = 500; } + $message = $th->getMessage(); // sanitize 0 && 5xx errors @@ -645,27 +646,15 @@ $server->onMessage(function (int $connection, string $message) use ($server, $re $response = new Response(new SwooleResponse()); $projectId = $realtime->connections[$connection]['projectId'] ?? null; - if (empty($projectId)) { - throw new Exception(Exception::REALTIME_POLICY_VIOLATION, 'Missing project ID in connection'); - } - // Get authorization from connection (stored during onOpen) $authorization = $realtime->connections[$connection]['authorization'] ?? null; - if (empty($projectId)) { - throw new Exception(Exception::REALTIME_POLICY_VIOLATION, 'Aurhorization not found in connection'); - } - $database = getConsoleDB(); $database->setAuthorization($authorization); if ($projectId !== 'console') { $project = $authorization->skip(fn () => $database->getDocument('projects', $projectId)); - if ($project->isEmpty()) { - throw new Exception(Exception::REALTIME_POLICY_VIOLATION, 'Project not found: ' . $projectId); - } - $database = getProjectDB($project); $database->setAuthorization($authorization); } else { @@ -677,7 +666,7 @@ $server->onMessage(function (int $connection, string $message) use ($server, $re * * Abuse limits are sending 32 times per minute and connection. */ - $timeLimit = new TimeLimitRedis('url:{url},connection:{connection}', 32, 60, getRedis()); + $timeLimit = getTimelimit('url:{url},connection:{connection}', 32, 60); $timeLimit ->setParam('{connection}', $connection) @@ -733,7 +722,16 @@ $server->onMessage(function (int $connection, string $message) use ($server, $re $roles = $user->getRoles($database->getAuthorization()); $channels = Realtime::convertChannels(array_flip($realtime->connections[$connection]['channels']), $user->getId()); + + // Preserve authorization before subscribe overwrites the connection array + $authorization = $realtime->connections[$connection]['authorization'] ?? null; + $realtime->subscribe($realtime->connections[$connection]['projectId'], $connection, $roles, $channels); + + // Restore authorization after subscribe + if ($authorization !== null) { + $realtime->connections[$connection]['authorization'] = $authorization; + } $user = $response->output($user, Response::MODEL_ACCOUNT); $server->send([$connection], json_encode([ From 4713ae5baa62eacd322325fa5e0d1cfaf370abef Mon Sep 17 00:00:00 2001 From: shimon Date: Wed, 3 Dec 2025 21:39:59 +0200 Subject: [PATCH 038/220] composer format --- app/realtime.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/realtime.php b/app/realtime.php index 94ac86493d..02193f5522 100644 --- a/app/realtime.php +++ b/app/realtime.php @@ -614,7 +614,7 @@ $server->onOpen(function (int $connection, SwooleRequest $request) use ($server, $code = 500; } - + $message = $th->getMessage(); // sanitize 0 && 5xx errors @@ -722,12 +722,12 @@ $server->onMessage(function (int $connection, string $message) use ($server, $re $roles = $user->getRoles($database->getAuthorization()); $channels = Realtime::convertChannels(array_flip($realtime->connections[$connection]['channels']), $user->getId()); - + // Preserve authorization before subscribe overwrites the connection array $authorization = $realtime->connections[$connection]['authorization'] ?? null; - + $realtime->subscribe($realtime->connections[$connection]['projectId'], $connection, $roles, $channels); - + // Restore authorization after subscribe if ($authorization !== null) { $realtime->connections[$connection]['authorization'] = $authorization; From 7462b7ae170fce0a1bb6e6591ea107f9778e2b03 Mon Sep 17 00:00:00 2001 From: shimon Date: Sun, 7 Dec 2025 16:57:30 +0200 Subject: [PATCH 039/220] Refactor ScheduleBase class to enhance schedule loading and project management. --- src/Appwrite/Platform/Tasks/ScheduleBase.php | 163 ++++++++++++------- 1 file changed, 102 insertions(+), 61 deletions(-) diff --git a/src/Appwrite/Platform/Tasks/ScheduleBase.php b/src/Appwrite/Platform/Tasks/ScheduleBase.php index 641725e722..bd5ee6bfa0 100644 --- a/src/Appwrite/Platform/Tasks/ScheduleBase.php +++ b/src/Appwrite/Platform/Tasks/ScheduleBase.php @@ -123,9 +123,7 @@ abstract class ScheduleBase extends Action $sum = $limit; $total = 0; $latestDocument = null; - $collectionId = static::getCollectionId(); - - $schedulesToProcess = []; + $updatedProjectIds = []; // Track project IDs from updated/new schedules while ($sum === $limit) { $paginationQueries = [Query::limit($limit)]; @@ -134,6 +132,8 @@ abstract class ScheduleBase extends Action $paginationQueries[] = Query::cursorAfter($latestDocument); } + // Temporarly accepting both 'fra' and 'default' + // When all migrated, only use _APP_REGION with 'default' as default value $regions = [System::getEnv('_APP_REGION', 'default')]; if (!in_array('default', $regions)) { $regions[] = 'default'; @@ -151,97 +151,138 @@ abstract class ScheduleBase extends Action $paginationQueries[] = Query::greaterThanEqual('resourceUpdatedAt', $lastSyncUpdate); } + $collectionId = static::getCollectionId(); $schedules = $dbForPlatform->find('schedules', $paginationQueries); $sum = count($schedules); $total += $sum; foreach ($schedules as $schedule) { $existing = $this->schedules[$schedule->getSequence()] ?? null; - $updated = strtotime($existing['resourceUpdatedAt'] ?? '0') !== strtotime($schedule['resourceUpdatedAt'] ?? '0'); - + $updated = strtotime($existing['resourceUpdatedAt'] ?? '0') !== strtotime($schedule->getAttribute('resourceUpdatedAt') ?? '0'); + if ($existing === null || $updated) { - // Early filtering: skip if not active (only for updates, initial load already filters) - if (!$initialLoad && !$schedule->getAttribute('active', true)) { + try { + $candidate = [ + '$sequence' => $schedule->getSequence(), + '$id' => $schedule->getId(), + 'projectId' => $schedule->getAttribute('projectId'), + 'resourceId' => $schedule->getAttribute('resourceId'), + 'resourceType' => $schedule->getAttribute('resourceType'), + 'schedule' => $schedule->getAttribute('schedule'), + 'active' => $schedule->getAttribute('active'), + 'resourceUpdatedAt' => $schedule->getAttribute('resourceUpdatedAt'), + ]; + } catch (\Throwable $th) { + Console::error("Failed to load schedule for project {$schedule->getAttribute('projectId')} {$collectionId} {$schedule->getAttribute('resourceId')}"); + Console::error($th->getMessage()); + continue; + } + // In case the resource is not active (deleted). + if (!$candidate['active']) { + Console::error("Resource is not active: {$candidate['resourceType']}::{$candidate['resourceId']}"); unset($this->schedules[$schedule->getSequence()]); continue; } - $schedulesToProcess[] = $schedule; + Console::info("Updating: {$candidate['resourceType']}::{$candidate['resourceId']}"); + $this->schedules[$schedule->getSequence()] = $candidate; + + // Track projectId for updated/new schedules + $updatedProjectIds[] = $candidate['projectId']; } } $latestDocument = \end($schedules); } - - if (empty($schedulesToProcess)) { - $lastSyncUpdate = $time; - $duration = microtime(true) - $loadStart; - $this->collectSchedulesTelemetryDuration->record($duration, ['initial' => $initialLoad, 'resourceType' => static::getSupportedResource()]); - $this->collectSchedulesTelemetryCount->record($total, ['initial' => $initialLoad, 'resourceType' => static::getSupportedResource()]); - Console::success("{$total} resources were loaded in " . $duration . " seconds"); + if (empty($this->schedules)) { + Console::success("No resources found"); return; } - // Cache projects to avoid fetching the same project multiple times - $projectsCache = []; + // On initial load: load all projects from all schedules + if ($initialLoad) { + $projectIds = array_unique(array_map(fn($schedule) => $schedule['projectId'], $this->schedules)); + } else { + // Only load projects for updated/new schedules + $projectIds = array_unique($updatedProjectIds); + } + + // Build existing project map from schedules that already have projects loaded + $map = []; + foreach ($this->schedules as $schedule) { + if (isset($schedule['project'])) { + $map[$schedule['projectId']] = $schedule['project']; + } + } + + // Only load projects that we don't already have in memory + $projectIdsToLoad = array_filter($projectIds, fn($projectId) => !isset($map[$projectId])); + + if (!empty($projectIdsToLoad)) { + $projectIdsToLoad = array_values($projectIdsToLoad); + $batchSize = 10_000; + $batches = array_chunk($projectIdsToLoad, $batchSize); + $projectsLoadStart = microtime(true); + + foreach ($batches as $batch) { + $documents = $dbForPlatform->find('projects', [ + Query::equal('$id', $batch), + Query::limit(count($batch)), + ]); - foreach ($schedulesToProcess as $schedule) { - $projectId = $schedule->getAttribute('projectId'); - - // Fetch project if not already cached - if (!isset($projectsCache[$projectId])) { - try { - $projectsCache[$projectId] = $dbForPlatform->getDocument('projects', $projectId); - } catch (\Throwable $th) { - Console::error("Failed to load project {$projectId}: " . $th->getMessage()); - continue; + foreach ($documents as $document) { + $map[$document->getId()] = $document; } } - $project = $projectsCache[$projectId]; - if ($project === null) { + $projectsLoadDuration = microtime(true) - $projectsLoadStart; + Console::success("Projects map loaded in " . $projectsLoadDuration . " seconds with " . count($projectIdsToLoad) . " new projects (total: " . count($map) . " projects)"); + } else { + Console::success("No new projects to load (using " . count($map) . " cached projects)"); + } + + foreach ($this->schedules as $sequence => $schedule) { + $project = $map[$schedule['projectId']]; + + // In case the resource is blocked. + if ($isResourceBlocked($project, $collectionId, $schedule['resourceId'])) { + Console::error("Resource blocked: projectId::{$schedule['projectId']} resourceId::{$schedule['resourceId']}"); + unset($this->schedules[$sequence]); continue; } - try { - $dbForProject = $getProjectDB($project); - $resourceId = $schedule->getAttribute('resourceId'); - $resource = $dbForProject->getDocument($collectionId, $resourceId); - - $candidate = [ - '$sequence' => $schedule->getSequence(), - '$id' => $schedule->getId(), - 'resourceId' => $resourceId, - 'schedule' => $schedule->getAttribute('schedule'), - 'active' => $schedule->getAttribute('active'), - 'resourceUpdatedAt' => $schedule->getAttribute('resourceUpdatedAt'), - 'project' => $project, - 'resource' => $resource, - ]; - - // Early filtering checks - if (!$candidate['active']) { - unset($this->schedules[$schedule->getSequence()]); - continue; - } - - if ($isResourceBlocked($candidate['project'], $collectionId, $candidate['resourceId'])) { - unset($this->schedules[$schedule->getSequence()]); - continue; - } - - Console::info("loading: project:: " . $candidate['project']->getId() . " " . static::getSupportedResource() . "::{$candidate['resourceId']}"); - $this->schedules[$schedule->getSequence()] = $candidate; - } catch (\Throwable $th) { - Console::error("Failed to load schedule for project {$project->getId()} {$collectionId} {$schedule->getAttribute('resourceId')}: " . $th->getMessage()); + if (empty($project)) { + Console::error("Project not found: projetId::{$schedule['projectId']} resourceId::{$schedule['resourceId']}"); + unset($this->schedules[$sequence]); + continue; } + + $this->schedules[$sequence]['project'] = $project; + + // In case the resource is not found (project deleted). + try { + $resource = $getProjectDB($project)->getDocument(static::getCollectionId(), $schedule['resourceId']); + } catch (\Throwable $th) { + Console::error("Failed to load resource: projectId::{$schedule['projectId']} resourceId::{$schedule['resourceId']}"); + Console::error($th->getMessage()); + unset($this->schedules[$sequence]); + continue; + } + + if (empty($resource)) { + Console::error("Resource not found: projectId::{$schedule['projectId']} resourceId::{$schedule['resourceId']}"); + unset($this->schedules[$sequence]); + continue; + } + + $this->schedules[$sequence]['resource'] = $resource; } $lastSyncUpdate = $time; $duration = microtime(true) - $loadStart; $this->collectSchedulesTelemetryDuration->record($duration, ['initial' => $initialLoad, 'resourceType' => static::getSupportedResource()]); $this->collectSchedulesTelemetryCount->record($total, ['initial' => $initialLoad, 'resourceType' => static::getSupportedResource()]); - Console::success("{$total} resources were loaded in " . $duration . " seconds"); + Console::success("Timer loaded {$total} " . static::getName() . " in " . $duration . " seconds"); } protected function recordEnqueueDelay(\DateTime $expectedExecutionSchedule): void From 8ed4fa6ff11c55ebd1d4aac03d50186a1187c9a5 Mon Sep 17 00:00:00 2001 From: shimon Date: Sun, 7 Dec 2025 17:03:18 +0200 Subject: [PATCH 040/220] composer --- composer.lock | 48 ++++++++++---------- src/Appwrite/Platform/Tasks/ScheduleBase.php | 25 +++++----- 2 files changed, 36 insertions(+), 37 deletions(-) diff --git a/composer.lock b/composer.lock index 19e9a64c21..e1fd7fcf17 100644 --- a/composer.lock +++ b/composer.lock @@ -756,16 +756,16 @@ }, { "name": "google/protobuf", - "version": "v4.33.1", + "version": "v4.33.2", "source": { "type": "git", "url": "https://github.com/protocolbuffers/protobuf-php.git", - "reference": "0cd73ccf0cd26c3e72299cce1ea6144091a57e12" + "reference": "fbd96b7bf1343f4b0d8fb358526c7ba4d72f1318" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/protocolbuffers/protobuf-php/zipball/0cd73ccf0cd26c3e72299cce1ea6144091a57e12", - "reference": "0cd73ccf0cd26c3e72299cce1ea6144091a57e12", + "url": "https://api.github.com/repos/protocolbuffers/protobuf-php/zipball/fbd96b7bf1343f4b0d8fb358526c7ba4d72f1318", + "reference": "fbd96b7bf1343f4b0d8fb358526c7ba4d72f1318", "shasum": "" }, "require": { @@ -794,9 +794,9 @@ "proto" ], "support": { - "source": "https://github.com/protocolbuffers/protobuf-php/tree/v4.33.1" + "source": "https://github.com/protocolbuffers/protobuf-php/tree/v4.33.2" }, - "time": "2025-11-12T21:58:05+00:00" + "time": "2025-12-05T22:12:22+00:00" }, { "name": "league/csv", @@ -4513,16 +4513,16 @@ }, { "name": "utopia-php/migration", - "version": "1.3.6", + "version": "1.3.7", "source": { "type": "git", "url": "https://github.com/utopia-php/migration.git", - "reference": "4abe70cc242bbffebfa377e4126ee2a4a1c9ef7e" + "reference": "409983bc2a9cf53a8a3dc6c23d8b1dee1950b499" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/utopia-php/migration/zipball/4abe70cc242bbffebfa377e4126ee2a4a1c9ef7e", - "reference": "4abe70cc242bbffebfa377e4126ee2a4a1c9ef7e", + "url": "https://api.github.com/repos/utopia-php/migration/zipball/409983bc2a9cf53a8a3dc6c23d8b1dee1950b499", + "reference": "409983bc2a9cf53a8a3dc6c23d8b1dee1950b499", "shasum": "" }, "require": { @@ -4562,9 +4562,9 @@ ], "support": { "issues": "https://github.com/utopia-php/migration/issues", - "source": "https://github.com/utopia-php/migration/tree/1.3.6" + "source": "https://github.com/utopia-php/migration/tree/1.3.7" }, - "time": "2025-11-25T11:36:57+00:00" + "time": "2025-12-05T05:02:31+00:00" }, { "name": "utopia-php/mongo", @@ -5960,16 +5960,16 @@ }, { "name": "nikic/php-parser", - "version": "v5.6.2", + "version": "v5.7.0", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "3a454ca033b9e06b63282ce19562e892747449bb" + "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/3a454ca033b9e06b63282ce19562e892747449bb", - "reference": "3a454ca033b9e06b63282ce19562e892747449bb", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/dca41cd15c2ac9d055ad70dbfd011130757d1f82", + "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82", "shasum": "" }, "require": { @@ -6012,9 +6012,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v5.6.2" + "source": "https://github.com/nikic/PHP-Parser/tree/v5.7.0" }, - "time": "2025-10-21T19:32:17+00:00" + "time": "2025-12-06T11:56:16+00:00" }, { "name": "phar-io/manifest", @@ -6663,16 +6663,16 @@ }, { "name": "phpunit/phpunit", - "version": "9.6.30", + "version": "9.6.31", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "b69489b312503bf8fa6d75a76916919d7d2fa6d4" + "reference": "945d0b7f346a084ce5549e95289962972c4272e5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/b69489b312503bf8fa6d75a76916919d7d2fa6d4", - "reference": "b69489b312503bf8fa6d75a76916919d7d2fa6d4", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/945d0b7f346a084ce5549e95289962972c4272e5", + "reference": "945d0b7f346a084ce5549e95289962972c4272e5", "shasum": "" }, "require": { @@ -6746,7 +6746,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.30" + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.31" }, "funding": [ { @@ -6770,7 +6770,7 @@ "type": "tidelift" } ], - "time": "2025-12-01T07:35:08+00:00" + "time": "2025-12-06T07:45:52+00:00" }, { "name": "psr/cache", diff --git a/src/Appwrite/Platform/Tasks/ScheduleBase.php b/src/Appwrite/Platform/Tasks/ScheduleBase.php index bd5ee6bfa0..f0939e10c5 100644 --- a/src/Appwrite/Platform/Tasks/ScheduleBase.php +++ b/src/Appwrite/Platform/Tasks/ScheduleBase.php @@ -7,7 +7,6 @@ use Utopia\CLI\Console; use Utopia\Database\Database; use Utopia\Database\DateTime; use Utopia\Database\Document; -use Utopia\Database\Exception; use Utopia\Database\Query; use Utopia\Database\Validator\Authorization; use Utopia\Platform\Action; @@ -159,7 +158,7 @@ abstract class ScheduleBase extends Action foreach ($schedules as $schedule) { $existing = $this->schedules[$schedule->getSequence()] ?? null; $updated = strtotime($existing['resourceUpdatedAt'] ?? '0') !== strtotime($schedule->getAttribute('resourceUpdatedAt') ?? '0'); - + if ($existing === null || $updated) { try { $candidate = [ @@ -186,7 +185,7 @@ abstract class ScheduleBase extends Action Console::info("Updating: {$candidate['resourceType']}::{$candidate['resourceId']}"); $this->schedules[$schedule->getSequence()] = $candidate; - + // Track projectId for updated/new schedules $updatedProjectIds[] = $candidate['projectId']; } @@ -201,12 +200,12 @@ abstract class ScheduleBase extends Action // On initial load: load all projects from all schedules if ($initialLoad) { - $projectIds = array_unique(array_map(fn($schedule) => $schedule['projectId'], $this->schedules)); + $projectIds = array_unique(array_map(fn ($schedule) => $schedule['projectId'], $this->schedules)); } else { // Only load projects for updated/new schedules $projectIds = array_unique($updatedProjectIds); } - + // Build existing project map from schedules that already have projects loaded $map = []; foreach ($this->schedules as $schedule) { @@ -214,16 +213,16 @@ abstract class ScheduleBase extends Action $map[$schedule['projectId']] = $schedule['project']; } } - + // Only load projects that we don't already have in memory - $projectIdsToLoad = array_filter($projectIds, fn($projectId) => !isset($map[$projectId])); - + $projectIdsToLoad = array_filter($projectIds, fn ($projectId) => !isset($map[$projectId])); + if (!empty($projectIdsToLoad)) { $projectIdsToLoad = array_values($projectIdsToLoad); $batchSize = 10_000; $batches = array_chunk($projectIdsToLoad, $batchSize); $projectsLoadStart = microtime(true); - + foreach ($batches as $batch) { $documents = $dbForPlatform->find('projects', [ Query::equal('$id', $batch), @@ -240,10 +239,10 @@ abstract class ScheduleBase extends Action } else { Console::success("No new projects to load (using " . count($map) . " cached projects)"); } - + foreach ($this->schedules as $sequence => $schedule) { $project = $map[$schedule['projectId']]; - + // In case the resource is blocked. if ($isResourceBlocked($project, $collectionId, $schedule['resourceId'])) { Console::error("Resource blocked: projectId::{$schedule['projectId']} resourceId::{$schedule['resourceId']}"); @@ -256,7 +255,7 @@ abstract class ScheduleBase extends Action unset($this->schedules[$sequence]); continue; } - + $this->schedules[$sequence]['project'] = $project; // In case the resource is not found (project deleted). @@ -268,7 +267,7 @@ abstract class ScheduleBase extends Action unset($this->schedules[$sequence]); continue; } - + if (empty($resource)) { Console::error("Resource not found: projectId::{$schedule['projectId']} resourceId::{$schedule['resourceId']}"); unset($this->schedules[$sequence]); From a241eab792bfc2b1438227edf85c51227adf616d Mon Sep 17 00:00:00 2001 From: Shimon Newman Date: Sun, 7 Dec 2025 18:26:14 +0200 Subject: [PATCH 041/220] Update src/Appwrite/Platform/Tasks/ScheduleBase.php Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- src/Appwrite/Platform/Tasks/ScheduleBase.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Appwrite/Platform/Tasks/ScheduleBase.php b/src/Appwrite/Platform/Tasks/ScheduleBase.php index f0939e10c5..74c91c193d 100644 --- a/src/Appwrite/Platform/Tasks/ScheduleBase.php +++ b/src/Appwrite/Platform/Tasks/ScheduleBase.php @@ -251,7 +251,7 @@ abstract class ScheduleBase extends Action } if (empty($project)) { - Console::error("Project not found: projetId::{$schedule['projectId']} resourceId::{$schedule['resourceId']}"); + Console::error("Project not found: projectId::{$schedule['projectId']} resourceId::{$schedule['resourceId']}"); unset($this->schedules[$sequence]); continue; } From b79ff7fbff5a1e648592bb6d19bc392046c03165 Mon Sep 17 00:00:00 2001 From: shimon Date: Mon, 8 Dec 2025 09:31:49 +0200 Subject: [PATCH 042/220] sync with 1.8.x --- composer.lock | 84 +++++++++++++++++++++++++-------------------------- 1 file changed, 42 insertions(+), 42 deletions(-) diff --git a/composer.lock b/composer.lock index 7be57539af..6cfdda48d6 100644 --- a/composer.lock +++ b/composer.lock @@ -756,16 +756,16 @@ }, { "name": "google/protobuf", - "version": "v4.33.1", + "version": "v4.33.2", "source": { "type": "git", "url": "https://github.com/protocolbuffers/protobuf-php.git", - "reference": "0cd73ccf0cd26c3e72299cce1ea6144091a57e12" + "reference": "fbd96b7bf1343f4b0d8fb358526c7ba4d72f1318" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/protocolbuffers/protobuf-php/zipball/0cd73ccf0cd26c3e72299cce1ea6144091a57e12", - "reference": "0cd73ccf0cd26c3e72299cce1ea6144091a57e12", + "url": "https://api.github.com/repos/protocolbuffers/protobuf-php/zipball/fbd96b7bf1343f4b0d8fb358526c7ba4d72f1318", + "reference": "fbd96b7bf1343f4b0d8fb358526c7ba4d72f1318", "shasum": "" }, "require": { @@ -794,9 +794,9 @@ "proto" ], "support": { - "source": "https://github.com/protocolbuffers/protobuf-php/tree/v4.33.1" + "source": "https://github.com/protocolbuffers/protobuf-php/tree/v4.33.2" }, - "time": "2025-11-12T21:58:05+00:00" + "time": "2025-12-05T22:12:22+00:00" }, { "name": "league/csv", @@ -2673,16 +2673,16 @@ }, { "name": "symfony/http-client", - "version": "v7.4.0", + "version": "v7.4.1", "source": { "type": "git", "url": "https://github.com/symfony/http-client.git", - "reference": "ee5e0e0139ab506f6063a230e631bed677c650a4" + "reference": "26cc224ea7103dda90e9694d9e139a389092d007" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/ee5e0e0139ab506f6063a230e631bed677c650a4", - "reference": "ee5e0e0139ab506f6063a230e631bed677c650a4", + "url": "https://api.github.com/repos/symfony/http-client/zipball/26cc224ea7103dda90e9694d9e139a389092d007", + "reference": "26cc224ea7103dda90e9694d9e139a389092d007", "shasum": "" }, "require": { @@ -2750,7 +2750,7 @@ "http" ], "support": { - "source": "https://github.com/symfony/http-client/tree/v7.4.0" + "source": "https://github.com/symfony/http-client/tree/v7.4.1" }, "funding": [ { @@ -2770,7 +2770,7 @@ "type": "tidelift" } ], - "time": "2025-11-20T12:32:50+00:00" + "time": "2025-12-04T21:12:57+00:00" }, { "name": "symfony/http-client-contracts", @@ -5960,16 +5960,16 @@ }, { "name": "nikic/php-parser", - "version": "v5.6.2", + "version": "v5.7.0", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "3a454ca033b9e06b63282ce19562e892747449bb" + "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/3a454ca033b9e06b63282ce19562e892747449bb", - "reference": "3a454ca033b9e06b63282ce19562e892747449bb", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/dca41cd15c2ac9d055ad70dbfd011130757d1f82", + "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82", "shasum": "" }, "require": { @@ -6012,9 +6012,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v5.6.2" + "source": "https://github.com/nikic/PHP-Parser/tree/v5.7.0" }, - "time": "2025-10-21T19:32:17+00:00" + "time": "2025-12-06T11:56:16+00:00" }, { "name": "phar-io/manifest", @@ -6663,16 +6663,16 @@ }, { "name": "phpunit/phpunit", - "version": "9.6.30", + "version": "9.6.31", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "b69489b312503bf8fa6d75a76916919d7d2fa6d4" + "reference": "945d0b7f346a084ce5549e95289962972c4272e5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/b69489b312503bf8fa6d75a76916919d7d2fa6d4", - "reference": "b69489b312503bf8fa6d75a76916919d7d2fa6d4", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/945d0b7f346a084ce5549e95289962972c4272e5", + "reference": "945d0b7f346a084ce5549e95289962972c4272e5", "shasum": "" }, "require": { @@ -6746,7 +6746,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.30" + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.31" }, "funding": [ { @@ -6770,7 +6770,7 @@ "type": "tidelift" } ], - "time": "2025-12-01T07:35:08+00:00" + "time": "2025-12-06T07:45:52+00:00" }, { "name": "psr/cache", @@ -7930,16 +7930,16 @@ }, { "name": "symfony/console", - "version": "v8.0.0", + "version": "v8.0.1", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "307d3cf852f5ead3618ac60ecbedbdd512c348b1" + "reference": "fcb73f69d655b48fcb894a262f074218df08bd58" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/307d3cf852f5ead3618ac60ecbedbdd512c348b1", - "reference": "307d3cf852f5ead3618ac60ecbedbdd512c348b1", + "url": "https://api.github.com/repos/symfony/console/zipball/fcb73f69d655b48fcb894a262f074218df08bd58", + "reference": "fcb73f69d655b48fcb894a262f074218df08bd58", "shasum": "" }, "require": { @@ -7996,7 +7996,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v8.0.0" + "source": "https://github.com/symfony/console/tree/v8.0.1" }, "funding": [ { @@ -8016,20 +8016,20 @@ "type": "tidelift" } ], - "time": "2025-11-21T13:19:49+00:00" + "time": "2025-12-05T15:25:33+00:00" }, { "name": "symfony/filesystem", - "version": "v8.0.0", + "version": "v8.0.1", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "7fc96ae83372620eaba3826874f46e26295768ca" + "reference": "d937d400b980523dc9ee946bb69972b5e619058d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/7fc96ae83372620eaba3826874f46e26295768ca", - "reference": "7fc96ae83372620eaba3826874f46e26295768ca", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/d937d400b980523dc9ee946bb69972b5e619058d", + "reference": "d937d400b980523dc9ee946bb69972b5e619058d", "shasum": "" }, "require": { @@ -8066,7 +8066,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v8.0.0" + "source": "https://github.com/symfony/filesystem/tree/v8.0.1" }, "funding": [ { @@ -8086,7 +8086,7 @@ "type": "tidelift" } ], - "time": "2025-11-05T14:36:47+00:00" + "time": "2025-12-01T09:13:36+00:00" }, { "name": "symfony/finder", @@ -8624,16 +8624,16 @@ }, { "name": "symfony/string", - "version": "v8.0.0", + "version": "v8.0.1", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "f929eccf09531078c243df72398560e32fa4cf4f" + "reference": "ba65a969ac918ce0cc3edfac6cdde847eba231dc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/f929eccf09531078c243df72398560e32fa4cf4f", - "reference": "f929eccf09531078c243df72398560e32fa4cf4f", + "url": "https://api.github.com/repos/symfony/string/zipball/ba65a969ac918ce0cc3edfac6cdde847eba231dc", + "reference": "ba65a969ac918ce0cc3edfac6cdde847eba231dc", "shasum": "" }, "require": { @@ -8690,7 +8690,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v8.0.0" + "source": "https://github.com/symfony/string/tree/v8.0.1" }, "funding": [ { @@ -8710,7 +8710,7 @@ "type": "tidelift" } ], - "time": "2025-09-11T14:37:55+00:00" + "time": "2025-12-01T09:13:36+00:00" }, { "name": "textalk/websocket", From a14d5c584ebefbd3e9181c1df3965071b4226001 Mon Sep 17 00:00:00 2001 From: VijaykumarPujar-tech Date: Mon, 8 Dec 2025 20:22:18 +0530 Subject: [PATCH 043/220] Fix: robust SMTP validation and added regression test --- .../Projects/ProjectsConsoleClientTest.php | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/tests/e2e/Services/Projects/ProjectsConsoleClientTest.php b/tests/e2e/Services/Projects/ProjectsConsoleClientTest.php index e297757225..99f7205d28 100644 --- a/tests/e2e/Services/Projects/ProjectsConsoleClientTest.php +++ b/tests/e2e/Services/Projects/ProjectsConsoleClientTest.php @@ -564,6 +564,10 @@ class ProjectsConsoleClientTest extends Scope public function testUpdateProjectSMTP($data): array { $id = $data['projectId']; + + /** + * Test for SUCCESS: Valid Credentials + */ $response = $this->client->call(Client::METHOD_PATCH, '/projects/' . $id . '/smtp', array_merge([ 'content-type' => 'application/json', 'x-appwrite-project' => $this->getProject()['$id'], @@ -603,6 +607,35 @@ class ProjectsConsoleClientTest extends Scope $this->assertEquals('password', $response['body']['smtpPassword']); $this->assertEquals('', $response['body']['smtpSecure']); + /** * Test for FAILURE: Missing or Invalid Credentials + */ + $response = $this->client->call(Client::METHOD_PATCH, '/projects/' . $id . '/smtp', array_merge([ + 'content-type' => 'application/json', + 'x-appwrite-project' => $this->getProject()['$id'], + ], $this->getHeaders()), [ + 'enabled' => true, + 'senderEmail' => 'fail@appwrite.io', + 'senderName' => 'Failing Mailer', + 'host' => 'maildev', + 'port' => 1025, + 'username' => 'invalid-user', + 'password' => 'bad-password', + ]); + + $this->assertEquals(400, $response['headers']['status-code']); + $this->assertEquals(Exception::PROJECT_SMTP_CONFIG_INVALID, $response['body']['type']); + $this->assertStringContainsStringIgnoringCase('SMTP authentication failed.', $response['body']['message']); + + /** * Test Reading Project to ensure settings were NOT saved after failure + */ + $response = $this->client->call(Client::METHOD_GET, '/projects/' . $id, array_merge([ + 'content-type' => 'application/json', + 'x-appwrite-project' => $this->getProject()['$id'], + ], $this->getHeaders())); + + $this->assertEquals(200, $response['headers']['status-code']); + $this->assertEquals('mailer@appwrite.io', $response['body']['smtpSenderEmail']); + return $data; } From 6156b97ea03c18654ada3e3c1bf2d6a44dbcb4de Mon Sep 17 00:00:00 2001 From: shimon Date: Mon, 8 Dec 2025 17:49:10 +0200 Subject: [PATCH 044/220] Refactor error handling in ScheduleBase class to improve project and resource validation. --- composer.lock | 95 ++++++++++---------- src/Appwrite/Platform/Tasks/ScheduleBase.php | 14 +-- 2 files changed, 55 insertions(+), 54 deletions(-) diff --git a/composer.lock b/composer.lock index e1fd7fcf17..8a85fe3229 100644 --- a/composer.lock +++ b/composer.lock @@ -2673,16 +2673,16 @@ }, { "name": "symfony/http-client", - "version": "v7.4.0", + "version": "v7.4.1", "source": { "type": "git", "url": "https://github.com/symfony/http-client.git", - "reference": "ee5e0e0139ab506f6063a230e631bed677c650a4" + "reference": "26cc224ea7103dda90e9694d9e139a389092d007" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/ee5e0e0139ab506f6063a230e631bed677c650a4", - "reference": "ee5e0e0139ab506f6063a230e631bed677c650a4", + "url": "https://api.github.com/repos/symfony/http-client/zipball/26cc224ea7103dda90e9694d9e139a389092d007", + "reference": "26cc224ea7103dda90e9694d9e139a389092d007", "shasum": "" }, "require": { @@ -2750,7 +2750,7 @@ "http" ], "support": { - "source": "https://github.com/symfony/http-client/tree/v7.4.0" + "source": "https://github.com/symfony/http-client/tree/v7.4.1" }, "funding": [ { @@ -2770,7 +2770,7 @@ "type": "tidelift" } ], - "time": "2025-11-20T12:32:50+00:00" + "time": "2025-12-04T21:12:57+00:00" }, { "name": "symfony/http-client-contracts", @@ -4264,29 +4264,29 @@ }, { "name": "utopia-php/framework", - "version": "0.33.33", + "version": "0.33.34", "source": { "type": "git", "url": "https://github.com/utopia-php/http.git", - "reference": "838e3a28276e73187bc34a314f014096dc92191b" + "reference": "76def92594c32504ec80eaacdb60ff8fad73c856" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/utopia-php/http/zipball/838e3a28276e73187bc34a314f014096dc92191b", - "reference": "838e3a28276e73187bc34a314f014096dc92191b", + "url": "https://api.github.com/repos/utopia-php/http/zipball/76def92594c32504ec80eaacdb60ff8fad73c856", + "reference": "76def92594c32504ec80eaacdb60ff8fad73c856", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.3", "utopia-php/compression": "0.1.*", "utopia-php/telemetry": "0.1.*", "utopia-php/validators": "0.1.*" }, "require-dev": { - "laravel/pint": "^1.2", - "phpbench/phpbench": "^1.2", - "phpstan/phpstan": "^1.10", - "phpunit/phpunit": "^9.5.25" + "laravel/pint": "1.*", + "phpbench/phpbench": "1.*", + "phpstan/phpstan": "1.*", + "phpunit/phpunit": "9.*" }, "type": "library", "autoload": { @@ -4306,9 +4306,9 @@ ], "support": { "issues": "https://github.com/utopia-php/http/issues", - "source": "https://github.com/utopia-php/http/tree/0.33.33" + "source": "https://github.com/utopia-php/http/tree/0.33.34" }, - "time": "2025-11-25T10:21:13+00:00" + "time": "2025-12-08T07:55:31+00:00" }, { "name": "utopia-php/image", @@ -4513,16 +4513,16 @@ }, { "name": "utopia-php/migration", - "version": "1.3.7", + "version": "1.3.9", "source": { "type": "git", "url": "https://github.com/utopia-php/migration.git", - "reference": "409983bc2a9cf53a8a3dc6c23d8b1dee1950b499" + "reference": "c55ec67c74663190cda10fd79297422147be7e85" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/utopia-php/migration/zipball/409983bc2a9cf53a8a3dc6c23d8b1dee1950b499", - "reference": "409983bc2a9cf53a8a3dc6c23d8b1dee1950b499", + "url": "https://api.github.com/repos/utopia-php/migration/zipball/c55ec67c74663190cda10fd79297422147be7e85", + "reference": "c55ec67c74663190cda10fd79297422147be7e85", "shasum": "" }, "require": { @@ -4562,9 +4562,9 @@ ], "support": { "issues": "https://github.com/utopia-php/migration/issues", - "source": "https://github.com/utopia-php/migration/tree/1.3.7" + "source": "https://github.com/utopia-php/migration/tree/1.3.9" }, - "time": "2025-12-05T05:02:31+00:00" + "time": "2025-12-08T08:45:09+00:00" }, { "name": "utopia-php/mongo", @@ -4679,16 +4679,16 @@ }, { "name": "utopia-php/platform", - "version": "0.7.12", + "version": "0.7.13", "source": { "type": "git", "url": "https://github.com/utopia-php/platform.git", - "reference": "04255de21db75e90b170040f4d1b457ba721e7a5" + "reference": "77a863a920122e2c6a6bc6ee5548d366a3f4c6c7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/utopia-php/platform/zipball/04255de21db75e90b170040f4d1b457ba721e7a5", - "reference": "04255de21db75e90b170040f4d1b457ba721e7a5", + "url": "https://api.github.com/repos/utopia-php/platform/zipball/77a863a920122e2c6a6bc6ee5548d366a3f4c6c7", + "reference": "77a863a920122e2c6a6bc6ee5548d366a3f4c6c7", "shasum": "" }, "require": { @@ -4701,6 +4701,7 @@ }, "require-dev": { "laravel/pint": "1.*", + "phpstan/phpstan": "2.*", "phpunit/phpunit": "9.*" }, "type": "library", @@ -4723,9 +4724,9 @@ ], "support": { "issues": "https://github.com/utopia-php/platform/issues", - "source": "https://github.com/utopia-php/platform/tree/0.7.12" + "source": "https://github.com/utopia-php/platform/tree/0.7.13" }, - "time": "2025-09-05T15:53:12+00:00" + "time": "2025-12-08T10:02:40+00:00" }, { "name": "utopia-php/pools", @@ -7930,16 +7931,16 @@ }, { "name": "symfony/console", - "version": "v8.0.0", + "version": "v8.0.1", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "307d3cf852f5ead3618ac60ecbedbdd512c348b1" + "reference": "fcb73f69d655b48fcb894a262f074218df08bd58" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/307d3cf852f5ead3618ac60ecbedbdd512c348b1", - "reference": "307d3cf852f5ead3618ac60ecbedbdd512c348b1", + "url": "https://api.github.com/repos/symfony/console/zipball/fcb73f69d655b48fcb894a262f074218df08bd58", + "reference": "fcb73f69d655b48fcb894a262f074218df08bd58", "shasum": "" }, "require": { @@ -7996,7 +7997,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v8.0.0" + "source": "https://github.com/symfony/console/tree/v8.0.1" }, "funding": [ { @@ -8016,20 +8017,20 @@ "type": "tidelift" } ], - "time": "2025-11-21T13:19:49+00:00" + "time": "2025-12-05T15:25:33+00:00" }, { "name": "symfony/filesystem", - "version": "v8.0.0", + "version": "v8.0.1", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "7fc96ae83372620eaba3826874f46e26295768ca" + "reference": "d937d400b980523dc9ee946bb69972b5e619058d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/7fc96ae83372620eaba3826874f46e26295768ca", - "reference": "7fc96ae83372620eaba3826874f46e26295768ca", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/d937d400b980523dc9ee946bb69972b5e619058d", + "reference": "d937d400b980523dc9ee946bb69972b5e619058d", "shasum": "" }, "require": { @@ -8066,7 +8067,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v8.0.0" + "source": "https://github.com/symfony/filesystem/tree/v8.0.1" }, "funding": [ { @@ -8086,7 +8087,7 @@ "type": "tidelift" } ], - "time": "2025-11-05T14:36:47+00:00" + "time": "2025-12-01T09:13:36+00:00" }, { "name": "symfony/finder", @@ -8624,16 +8625,16 @@ }, { "name": "symfony/string", - "version": "v8.0.0", + "version": "v8.0.1", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "f929eccf09531078c243df72398560e32fa4cf4f" + "reference": "ba65a969ac918ce0cc3edfac6cdde847eba231dc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/f929eccf09531078c243df72398560e32fa4cf4f", - "reference": "f929eccf09531078c243df72398560e32fa4cf4f", + "url": "https://api.github.com/repos/symfony/string/zipball/ba65a969ac918ce0cc3edfac6cdde847eba231dc", + "reference": "ba65a969ac918ce0cc3edfac6cdde847eba231dc", "shasum": "" }, "require": { @@ -8690,7 +8691,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v8.0.0" + "source": "https://github.com/symfony/string/tree/v8.0.1" }, "funding": [ { @@ -8710,7 +8711,7 @@ "type": "tidelift" } ], - "time": "2025-09-11T14:37:55+00:00" + "time": "2025-12-01T09:13:36+00:00" }, { "name": "textalk/websocket", diff --git a/src/Appwrite/Platform/Tasks/ScheduleBase.php b/src/Appwrite/Platform/Tasks/ScheduleBase.php index 74c91c193d..0ad8c5ac9a 100644 --- a/src/Appwrite/Platform/Tasks/ScheduleBase.php +++ b/src/Appwrite/Platform/Tasks/ScheduleBase.php @@ -241,17 +241,17 @@ abstract class ScheduleBase extends Action } foreach ($this->schedules as $sequence => $schedule) { - $project = $map[$schedule['projectId']]; + $project = $map[$schedule['projectId']] ?? null; - // In case the resource is blocked. - if ($isResourceBlocked($project, $collectionId, $schedule['resourceId'])) { - Console::error("Resource blocked: projectId::{$schedule['projectId']} resourceId::{$schedule['resourceId']}"); + if ($project === null || $project->isEmpty()) { + Console::error("Project not found: projectId::{$schedule['projectId']} resourceId::{$schedule['resourceId']}"); unset($this->schedules[$sequence]); continue; } - if (empty($project)) { - Console::error("Project not found: projectId::{$schedule['projectId']} resourceId::{$schedule['resourceId']}"); + // In case the resource is blocked. + if ($isResourceBlocked($project, $collectionId, $schedule['resourceId'])) { + Console::error("Resource blocked: projectId::{$schedule['projectId']} resourceId::{$schedule['resourceId']}"); unset($this->schedules[$sequence]); continue; } @@ -268,7 +268,7 @@ abstract class ScheduleBase extends Action continue; } - if (empty($resource)) { + if ($resource->isEmpty()) { Console::error("Resource not found: projectId::{$schedule['projectId']} resourceId::{$schedule['resourceId']}"); unset($this->schedules[$sequence]); continue; From 2fa95b52a047377445cb0ea8c28ef3cacb168e27 Mon Sep 17 00:00:00 2001 From: VijaykumarPujar-tech Date: Tue, 9 Dec 2025 22:40:51 +0530 Subject: [PATCH 045/220] Reverted some added changes --- .../Projects/ProjectsConsoleClientTest.php | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) diff --git a/tests/e2e/Services/Projects/ProjectsConsoleClientTest.php b/tests/e2e/Services/Projects/ProjectsConsoleClientTest.php index 99f7205d28..7e81ca9db0 100644 --- a/tests/e2e/Services/Projects/ProjectsConsoleClientTest.php +++ b/tests/e2e/Services/Projects/ProjectsConsoleClientTest.php @@ -565,9 +565,7 @@ class ProjectsConsoleClientTest extends Scope { $id = $data['projectId']; - /** - * Test for SUCCESS: Valid Credentials - */ + /**Test for SUCCESS: Valid Credentials*/ $response = $this->client->call(Client::METHOD_PATCH, '/projects/' . $id . '/smtp', array_merge([ 'content-type' => 'application/json', 'x-appwrite-project' => $this->getProject()['$id'], @@ -607,8 +605,7 @@ class ProjectsConsoleClientTest extends Scope $this->assertEquals('password', $response['body']['smtpPassword']); $this->assertEquals('', $response['body']['smtpSecure']); - /** * Test for FAILURE: Missing or Invalid Credentials - */ + /** Test for Missing or Invalid Credentials*/ $response = $this->client->call(Client::METHOD_PATCH, '/projects/' . $id . '/smtp', array_merge([ 'content-type' => 'application/json', 'x-appwrite-project' => $this->getProject()['$id'], @@ -626,16 +623,6 @@ class ProjectsConsoleClientTest extends Scope $this->assertEquals(Exception::PROJECT_SMTP_CONFIG_INVALID, $response['body']['type']); $this->assertStringContainsStringIgnoringCase('SMTP authentication failed.', $response['body']['message']); - /** * Test Reading Project to ensure settings were NOT saved after failure - */ - $response = $this->client->call(Client::METHOD_GET, '/projects/' . $id, array_merge([ - 'content-type' => 'application/json', - 'x-appwrite-project' => $this->getProject()['$id'], - ], $this->getHeaders())); - - $this->assertEquals(200, $response['headers']['status-code']); - $this->assertEquals('mailer@appwrite.io', $response['body']['smtpSenderEmail']); - return $data; } From 8951a8465c5d7a485604ef65a974da8dda1ed68c Mon Sep 17 00:00:00 2001 From: VijaykumarPujar-tech Date: Tue, 9 Dec 2025 23:30:34 +0530 Subject: [PATCH 046/220] Added the projects.php changes back --- app/controllers/api/projects.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/app/controllers/api/projects.php b/app/controllers/api/projects.php index 80d407322e..b8011828ce 100644 --- a/app/controllers/api/projects.php +++ b/app/controllers/api/projects.php @@ -2073,8 +2073,11 @@ App::patch('/v1/projects/:projectId/smtp') if ($enabled) { $mail = new PHPMailer(true); $mail->isSMTP(); - $mail->Username = $username; - $mail->Password = $password; + if (!empty($username) && !empty($password)) { + $mail->SMTPAuth = true; + $mail->Username = $username; + $mail->Password = $password; + } $mail->Host = $host; $mail->Port = $port; $mail->SMTPSecure = $secure; From e0a937912c6a9a2cc7c11636f843891e3496ecc3 Mon Sep 17 00:00:00 2001 From: VijaykumarPujar-tech Date: Tue, 9 Dec 2025 23:46:44 +0530 Subject: [PATCH 047/220] Added Validation check for username and password --- app/controllers/api/projects.php | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/app/controllers/api/projects.php b/app/controllers/api/projects.php index b8011828ce..e0f8013467 100644 --- a/app/controllers/api/projects.php +++ b/app/controllers/api/projects.php @@ -2071,13 +2071,16 @@ App::patch('/v1/projects/:projectId/smtp') // validate SMTP settings if ($enabled) { + if (empty($username)) { + throw new Exception(Exception::GENERAL_ARGUMENT_INVALID, 'SMTP Username is required when enabling SMTP.'); + } elseif (empty($password)) { + throw new Exception(Exception::GENERAL_ARGUMENT_INVALID, 'SMTP Password is required when enabling SMTP.'); + } $mail = new PHPMailer(true); $mail->isSMTP(); - if (!empty($username) && !empty($password)) { - $mail->SMTPAuth = true; - $mail->Username = $username; - $mail->Password = $password; - } + $mail->SMTPAuth = true; + $mail->Username = $username; + $mail->Password = $password; $mail->Host = $host; $mail->Port = $port; $mail->SMTPSecure = $secure; From d174233cd64a7b407f918041f68106d9dda1bdbb Mon Sep 17 00:00:00 2001 From: Steven Nguyen <1477010+stnguyen90@users.noreply.github.com> Date: Fri, 12 Dec 2025 04:58:59 +0000 Subject: [PATCH 048/220] fix: update SMTP configuration and enhance validation checks --- .env | 4 +- app/controllers/api/projects.php | 13 +-- docker-compose.yml | 3 + .../Projects/ProjectsConsoleClientTest.php | 91 +++++++++++-------- 4 files changed, 61 insertions(+), 50 deletions(-) diff --git a/.env b/.env index 4d7c038a6b..256f2c984a 100644 --- a/.env +++ b/.env @@ -69,8 +69,8 @@ _APP_STORAGE_ANTIVIRUS_PORT=3310 _APP_SMTP_HOST=maildev _APP_SMTP_PORT=1025 _APP_SMTP_SECURE= -_APP_SMTP_USERNAME= -_APP_SMTP_PASSWORD= +_APP_SMTP_USERNAME=user +_APP_SMTP_PASSWORD=password _APP_SMS_PROVIDER=sms://username:password@mock _APP_SMS_FROM=+123456789 _APP_SMS_PROJECTS_DENY_LIST= diff --git a/app/controllers/api/projects.php b/app/controllers/api/projects.php index e0f8013467..fa48405e5e 100644 --- a/app/controllers/api/projects.php +++ b/app/controllers/api/projects.php @@ -294,7 +294,7 @@ App::post('/v1/projects') // Hook allowing instant project mirroring during migration // Outside of migration, hook is not registered and has no effect - $hooks->trigger('afterProjectCreation', [ $project, $pools, $cache ]); + $hooks->trigger('afterProjectCreation', [$project, $pools, $cache]); $response ->setStatusCode(Response::STATUS_CODE_CREATED) @@ -2071,14 +2071,9 @@ App::patch('/v1/projects/:projectId/smtp') // validate SMTP settings if ($enabled) { - if (empty($username)) { - throw new Exception(Exception::GENERAL_ARGUMENT_INVALID, 'SMTP Username is required when enabling SMTP.'); - } elseif (empty($password)) { - throw new Exception(Exception::GENERAL_ARGUMENT_INVALID, 'SMTP Password is required when enabling SMTP.'); - } $mail = new PHPMailer(true); $mail->isSMTP(); - $mail->SMTPAuth = true; + $mail->SMTPAuth = (!empty($username) && !empty($password)); $mail->Username = $username; $mail->Password = $password; $mail->Host = $host; @@ -2094,7 +2089,7 @@ App::patch('/v1/projects/:projectId/smtp') throw new Exception('Connection is not valid.'); } } catch (Throwable $error) { - throw new Exception(Exception::PROJECT_SMTP_CONFIG_INVALID, 'Could not connect to SMTP server: ' . $error->getMessage()); + throw new Exception(Exception::PROJECT_SMTP_CONFIG_INVALID, $error->getMessage()); } } @@ -2661,7 +2656,7 @@ App::patch('/v1/projects/:projectId/auth/session-invalidation') $auths = $project->getAttribute('auths', []); $auths['invalidateSessions'] = $enabled; $dbForPlatform->updateDocument('projects', $project->getId(), $project - ->setAttribute('auths', $auths)); + ->setAttribute('auths', $auths)); $response->dynamic($project, Response::MODEL_PROJECT); }); diff --git a/docker-compose.yml b/docker-compose.yml index 9575904616..b0811ee916 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1102,6 +1102,9 @@ services: - "traefik.http.routers.appwrite_maildev_https.rule=Host(`mail.localhost`)" - "traefik.http.routers.appwrite_maildev_https.service=appwrite_maildev" - "traefik.http.routers.appwrite_maildev_https.tls=true" + environment: + - MAILDEV_INCOMING_USER=${_APP_SMTP_USERNAME} + - MAILDEV_INCOMING_PASS=${_APP_SMTP_PASSWORD} request-catcher-webhook: # used mainly for dev tests (mock HTTP webhook) image: appwrite/requestcatcher:1.0.0 diff --git a/tests/e2e/Services/Projects/ProjectsConsoleClientTest.php b/tests/e2e/Services/Projects/ProjectsConsoleClientTest.php index 7e81ca9db0..85f54e09cc 100644 --- a/tests/e2e/Services/Projects/ProjectsConsoleClientTest.php +++ b/tests/e2e/Services/Projects/ProjectsConsoleClientTest.php @@ -24,9 +24,9 @@ class ProjectsConsoleClientTest extends Scope use Async; /** - * @group devKeys * @group smtpAndTemplates - * @group projectsCRUD */ + * @group projectsCRUD + */ public function testCreateProject(): array { /** @@ -564,8 +564,14 @@ class ProjectsConsoleClientTest extends Scope public function testUpdateProjectSMTP($data): array { $id = $data['projectId']; - - /**Test for SUCCESS: Valid Credentials*/ + $smtpHost = System::getEnv('_APP_SMTP_HOST', "maildev"); + $smtpPort = intval(System::getEnv('_APP_SMTP_PORT', "1025")); + $smtpUsername = System::getEnv('_APP_SMTP_USERNAME', 'user'); + $smtpPassword = System::getEnv('_APP_SMTP_PASSWORD', 'password'); + + /** + * Test for SUCCESS: Valid Credentials + */ $response = $this->client->call(Client::METHOD_PATCH, '/projects/' . $id . '/smtp', array_merge([ 'content-type' => 'application/json', 'x-appwrite-project' => $this->getProject()['$id'], @@ -573,23 +579,23 @@ class ProjectsConsoleClientTest extends Scope 'enabled' => true, 'senderEmail' => 'mailer@appwrite.io', 'senderName' => 'Mailer', - 'host' => 'maildev', - 'port' => 1025, - 'username' => 'user', - 'password' => 'password', + 'host' => $smtpHost, + 'port' => $smtpPort, + 'username' => $smtpUsername, + 'password' => $smtpPassword, ]); $this->assertEquals(200, $response['headers']['status-code']); $this->assertTrue($response['body']['smtpEnabled']); $this->assertEquals('mailer@appwrite.io', $response['body']['smtpSenderEmail']); $this->assertEquals('Mailer', $response['body']['smtpSenderName']); - $this->assertEquals('maildev', $response['body']['smtpHost']); - $this->assertEquals(1025, $response['body']['smtpPort']); - $this->assertEquals('user', $response['body']['smtpUsername']); - $this->assertEquals('password', $response['body']['smtpPassword']); + $this->assertEquals($smtpHost, $response['body']['smtpHost']); + $this->assertEquals($smtpPort, $response['body']['smtpPort']); + $this->assertEquals($smtpUsername, $response['body']['smtpUsername']); + $this->assertEquals($smtpPassword, $response['body']['smtpPassword']); $this->assertEquals('', $response['body']['smtpSecure']); - /** Test Reading Project */ + // Check the project $response = $this->client->call(Client::METHOD_GET, '/projects/' . $id, array_merge([ 'content-type' => 'application/json', 'x-appwrite-project' => $this->getProject()['$id'], @@ -599,13 +605,15 @@ class ProjectsConsoleClientTest extends Scope $this->assertTrue($response['body']['smtpEnabled']); $this->assertEquals('mailer@appwrite.io', $response['body']['smtpSenderEmail']); $this->assertEquals('Mailer', $response['body']['smtpSenderName']); - $this->assertEquals('maildev', $response['body']['smtpHost']); - $this->assertEquals(1025, $response['body']['smtpPort']); - $this->assertEquals('user', $response['body']['smtpUsername']); - $this->assertEquals('password', $response['body']['smtpPassword']); + $this->assertEquals($smtpHost, $response['body']['smtpHost']); + $this->assertEquals($smtpPort, $response['body']['smtpPort']); + $this->assertEquals($smtpUsername, $response['body']['smtpUsername']); + $this->assertEquals($smtpPassword, $response['body']['smtpPassword']); $this->assertEquals('', $response['body']['smtpSecure']); - /** Test for Missing or Invalid Credentials*/ + /** + * Test for FAILURE: Invalid Credentials + */ $response = $this->client->call(Client::METHOD_PATCH, '/projects/' . $id . '/smtp', array_merge([ 'content-type' => 'application/json', 'x-appwrite-project' => $this->getProject()['$id'], @@ -613,15 +621,15 @@ class ProjectsConsoleClientTest extends Scope 'enabled' => true, 'senderEmail' => 'fail@appwrite.io', 'senderName' => 'Failing Mailer', - 'host' => 'maildev', - 'port' => 1025, + 'host' => $smtpHost, + 'port' => $smtpPort, 'username' => 'invalid-user', 'password' => 'bad-password', ]); - + $this->assertEquals(400, $response['headers']['status-code']); $this->assertEquals(Exception::PROJECT_SMTP_CONFIG_INVALID, $response['body']['type']); - $this->assertStringContainsStringIgnoringCase('SMTP authentication failed.', $response['body']['message']); + $this->assertStringContainsStringIgnoringCase('Could not authenticate', $response['body']['message']); return $data; } @@ -633,6 +641,11 @@ class ProjectsConsoleClientTest extends Scope public function testCreateProjectSMTPTests($data): array { $id = $data['projectId']; + $smtpHost = System::getEnv('_APP_SMTP_HOST', "maildev"); + $smtpPort = intval(System::getEnv('_APP_SMTP_PORT', "1025")); + $smtpUsername = System::getEnv('_APP_SMTP_USERNAME', 'user'); + $smtpPassword = System::getEnv('_APP_SMTP_PASSWORD', 'password'); + $response = $this->client->call(Client::METHOD_POST, '/projects/' . $id . '/smtp/tests', array_merge([ 'content-type' => 'application/json', 'x-appwrite-project' => $this->getProject()['$id'], @@ -641,10 +654,10 @@ class ProjectsConsoleClientTest extends Scope 'senderEmail' => 'custommailer@appwrite.io', 'senderName' => 'Custom Mailer', 'replyTo' => 'reply@appwrite.io', - 'host' => 'maildev', - 'port' => 1025, - 'username' => '', - 'password' => '', + 'host' => $smtpHost, + 'port' => $smtpPort, + 'username' => $smtpUsername, + 'password' => $smtpPassword, ]); $this->assertEquals(204, $response['headers']['status-code']); @@ -678,10 +691,10 @@ class ProjectsConsoleClientTest extends Scope 'senderEmail' => 'custommailer@appwrite.io', 'senderName' => 'Custom Mailer', 'replyTo' => 'reply@appwrite.io', - 'host' => 'maildev', - 'port' => 1025, - 'username' => '', - 'password' => '', + 'host' => $smtpHost, + 'port' => $smtpPort, + 'username' => $smtpUsername, + 'password' => $smtpPassword, ]); $this->assertEquals(204, $response['headers']['status-code']); @@ -694,10 +707,10 @@ class ProjectsConsoleClientTest extends Scope 'senderEmail' => 'custommailer@appwrite.io', 'senderName' => 'Custom Mailer', 'replyTo' => 'reply@appwrite.io', - 'host' => 'maildev', - 'port' => 1025, - 'username' => '', - 'password' => '', + 'host' => $smtpHost, + 'port' => $smtpPort, + 'username' => $smtpUsername, + 'password' => $smtpPassword, ]); $this->assertEquals(400, $response['headers']['status-code']); @@ -720,7 +733,7 @@ class ProjectsConsoleClientTest extends Scope ], $this->getHeaders())); $this->assertEquals(200, $response['headers']['status-code']); - $this->assertEquals('Account Verification', $response['body']['subject']); + $this->assertEquals('Account Verification for {{project}}', $response['body']['subject']); $this->assertEquals('', $response['body']['senderEmail']); $this->assertEquals('verification', $response['body']['type']); $this->assertEquals('en-us', $response['body']['locale']); @@ -3023,7 +3036,7 @@ class ProjectsConsoleClientTest extends Scope $this->assertContains('users.write', $response['body']['scopes']); $this->assertContains('collections.read', $response['body']['scopes']); $this->assertContains('tables.read', $response['body']['scopes']); - $this->assertCount(3, $response['body']['scopes']); + $this->assertCount(4, $response['body']['scopes']); $this->assertArrayHasKey('sdks', $response['body']); $this->assertEmpty($response['body']['sdks']); $this->assertArrayHasKey('accessedAt', $response['body']); @@ -3042,7 +3055,7 @@ class ProjectsConsoleClientTest extends Scope $this->assertContains('users.write', $response['body']['scopes']); $this->assertContains('collections.read', $response['body']['scopes']); $this->assertContains('tables.read', $response['body']['scopes']); - $this->assertCount(3, $response['body']['scopes']); + $this->assertCount(4, $response['body']['scopes']); $this->assertArrayHasKey('sdks', $response['body']); $this->assertEmpty($response['body']['sdks']); $this->assertArrayHasKey('accessedAt', $response['body']); @@ -4976,8 +4989,8 @@ class ProjectsConsoleClientTest extends Scope $this->assertEmpty($response['body']); /** - * Get rate limit trying to use the deleted key - */ + * Get rate limit trying to use the deleted key + */ $response = $this->client->call(Client::METHOD_POST, '/account/sessions/email', [ 'content-type' => 'application/json', 'x-appwrite-project' => $projectId, From a94ccdb4f540d394855f2acc624c4d16d90d1b5f Mon Sep 17 00:00:00 2001 From: Steven Nguyen <1477010+stnguyen90@users.noreply.github.com> Date: Fri, 12 Dec 2025 06:02:17 +0000 Subject: [PATCH 049/220] fix: enhance SMTP authentication by using env vars --- tests/e2e/Scopes/ProjectCustom.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/e2e/Scopes/ProjectCustom.php b/tests/e2e/Scopes/ProjectCustom.php index c2b4896814..52c53016d6 100644 --- a/tests/e2e/Scopes/ProjectCustom.php +++ b/tests/e2e/Scopes/ProjectCustom.php @@ -161,9 +161,9 @@ trait ProjectCustom 'senderEmail' => 'mailer@appwrite.io', 'senderName' => 'Mailer', 'host' => 'maildev', - 'port' => 1025, - 'username' => '', - 'password' => '', + 'port' => intval(System::getEnv('_APP_SMTP_PORT', "1025")), + 'username' => System::getEnv('_APP_SMTP_USERNAME', 'user'), + 'password' => System::getEnv('_APP_SMTP_PASSWORD', 'password'), ]); $project = [ From d4517384dc3419ee3ad47a4e172b976a4fd10044 Mon Sep 17 00:00:00 2001 From: Steven Nguyen <1477010+stnguyen90@users.noreply.github.com> Date: Fri, 12 Dec 2025 07:16:49 +0000 Subject: [PATCH 050/220] fix: update project tests to reflect changes in project count and names --- .../Projects/ProjectsConsoleClientTest.php | 59 ++++--------------- 1 file changed, 13 insertions(+), 46 deletions(-) diff --git a/tests/e2e/Services/Projects/ProjectsConsoleClientTest.php b/tests/e2e/Services/Projects/ProjectsConsoleClientTest.php index bda213d121..f2122b4ba9 100644 --- a/tests/e2e/Services/Projects/ProjectsConsoleClientTest.php +++ b/tests/e2e/Services/Projects/ProjectsConsoleClientTest.php @@ -257,11 +257,11 @@ class ProjectsConsoleClientTest extends Scope 'search' => $id ])); - $this->assertEquals($response['headers']['status-code'], 200); - $this->assertEquals($response['body']['total'], 3); + $this->assertEquals(200, $response['headers']['status-code']); + $this->assertEquals(4, $response['body']['total']); $this->assertIsArray($response['body']['projects']); - $this->assertCount(3, $response['body']['projects']); - $this->assertEquals($response['body']['projects'][0]['name'], 'Project Test'); + $this->assertCount(4, $response['body']['projects']); + $this->assertEquals('Project Test', $response['body']['projects'][0]['name']); $response = $this->client->call(Client::METHOD_GET, '/projects', array_merge([ 'content-type' => 'application/json', @@ -271,9 +271,9 @@ class ProjectsConsoleClientTest extends Scope ])); $this->assertEquals($response['headers']['status-code'], 200); - $this->assertEquals(3, $response['body']['total']); + $this->assertEquals(4, $response['body']['total']); $this->assertIsArray($response['body']['projects']); - $this->assertCount(3, $response['body']['projects']); + $this->assertCount(4, $response['body']['projects']); $this->assertEquals($response['body']['projects'][0]['$id'], $data['projectId']); /** @@ -348,8 +348,8 @@ class ProjectsConsoleClientTest extends Scope $this->assertEquals(200, $response['headers']['status-code']); $this->assertNotEmpty($response['body']); - $this->assertCount(1, $response['body']['projects']); - $this->assertEquals('Project Test 2', $response['body']['projects'][0]['name']); + $this->assertCount(2, $response['body']['projects']); + $this->assertEquals('Team 1 Project', $response['body']['projects'][0]['name']); $response = $this->client->call(Client::METHOD_GET, '/projects', array_merge([ 'content-type' => 'application/json', @@ -376,7 +376,7 @@ class ProjectsConsoleClientTest extends Scope $this->assertEquals(200, $response['headers']['status-code']); $this->assertNotEmpty($response['body']); - $this->assertCount(4, $response['body']['projects']); + $this->assertCount(5, $response['body']['projects']); $this->assertEquals('Project Test 2', $response['body']['projects'][0]['name']); $this->assertEquals('Team 1 Project', $response['body']['projects'][1]['name']); @@ -387,9 +387,9 @@ class ProjectsConsoleClientTest extends Scope $this->assertEquals(200, $response['headers']['status-code']); $this->assertNotEmpty($response['body']); - $this->assertCount(4, $response['body']['projects']); + $this->assertCount(5, $response['body']['projects']); $this->assertEquals('Project Test', $response['body']['projects'][0]['name']); - $this->assertEquals('Team 1 Project', $response['body']['projects'][2]['name']); + $this->assertEquals('Original Project', $response['body']['projects'][2]['name']); $response = $this->client->call(Client::METHOD_GET, '/projects', array_merge([ 'content-type' => 'application/json', @@ -402,8 +402,8 @@ class ProjectsConsoleClientTest extends Scope $this->assertEquals(200, $response['headers']['status-code']); $this->assertNotEmpty($response['body']); - $this->assertCount(3, $response['body']['projects']); - $this->assertEquals('Team 1 Project', $response['body']['projects'][1]['name']); + $this->assertCount(4, $response['body']['projects']); + $this->assertEquals('Original Project', $response['body']['projects'][1]['name']); $response = $this->client->call(Client::METHOD_GET, '/projects', array_merge([ 'content-type' => 'application/json', @@ -992,39 +992,6 @@ class ProjectsConsoleClientTest extends Scope $this->assertEquals(200, $response['headers']['status-code']); $this->assertEquals(15, $response['body']['authDuration']); - // Create session - $response = $this->client->call(Client::METHOD_POST, '/account/sessions/email', array_merge([ - 'content-type' => 'application/json', - 'x-appwrite-project' => $projectId, - ]), [ - 'email' => $userEmail, - 'password' => 'password', - ]); - - $this->assertEquals(201, $response['headers']['status-code']); - - $sessionCookie = $response['headers']['set-cookie']; - - // Wait 10 seconds, ensure valid session, extend session - \sleep(10); - - $response = $this->client->call(Client::METHOD_GET, '/account', array_merge([ - 'content-type' => 'application/json', - 'x-appwrite-project' => $projectId, - 'Cookie' => $sessionCookie, - ])); - - $this->assertEquals(200, $response['headers']['status-code']); - - $response = $this->client->call(Client::METHOD_PATCH, '/account/sessions/current', array_merge([ - 'origin' => 'http://localhost', - 'content-type' => 'application/json', - 'x-appwrite-project' => $projectId, - 'cookie' => $sessionCookie, - ])); - - $this->assertEquals(200, $response['headers']['status-code']); - // Wait 20 seconds, ensure non-valid session \sleep(20); From 90fb5b6321effea3ff082bd1690049d24c4e2a4c Mon Sep 17 00:00:00 2001 From: Levi van Noort <73097785+levivannoort@users.noreply.github.com> Date: Fri, 12 Dec 2025 08:42:49 +0100 Subject: [PATCH 051/220] feat: improved reference client ip through _APP_TRUSTED_HEADERS --- .env | 1 + app/config/variables.php | 9 ++++++ src/Appwrite/Utopia/Request.php | 3 ++ tests/e2e/Services/Account/AccountBase.php | 34 ++++++++++++++++++++++ 4 files changed, 47 insertions(+) diff --git a/.env b/.env index 55ec662f24..c9a8b3a0b4 100644 --- a/.env +++ b/.env @@ -125,3 +125,4 @@ _APP_WEBHOOK_MAX_FAILED_ATTEMPTS=10 _APP_PROJECT_REGIONS=default _APP_FUNCTIONS_CREATION_ABUSE_LIMIT=5000 _APP_STATS_USAGE_DUAL_WRITING_DBS=database_db_main +_APP_TRUSTED_HEADERS= diff --git a/app/config/variables.php b/app/config/variables.php index 408be8d54e..653e959101 100644 --- a/app/config/variables.php +++ b/app/config/variables.php @@ -357,6 +357,15 @@ return [ 'required' => false, 'question' => '', 'filter' => '' + ], + [ + 'name' => '_APP_TRUSTED_HEADERS', + 'description' => 'This option allows you to set the list of trusted headers, the value is a comma‑separated list of HTTP header names, evaluated left-to-right for the first valid IP. Header names are treated case-insensitively.', + 'introduction' => '1.8.0', + 'default' => 'x-forwarded-for', + 'required' => false, + 'question' => '', + 'filter' => '' ] ], ], diff --git a/src/Appwrite/Utopia/Request.php b/src/Appwrite/Utopia/Request.php index ce570d2af9..8e6b5d47b3 100644 --- a/src/Appwrite/Utopia/Request.php +++ b/src/Appwrite/Utopia/Request.php @@ -9,9 +9,12 @@ use Swoole\Http\Request as SwooleRequest; use Utopia\Database\Validator\Authorization; use Utopia\Route; use Utopia\Swoole\Request as UtopiaRequest; +use Utopia\System\System; class Request extends UtopiaRequest { + protected array $trustedIpHeaders = explode(",", System::getEnv('_APP_TRUSTED_HEADERS') ?? 'x-forwarded-for'); + /** * @var array */ diff --git a/tests/e2e/Services/Account/AccountBase.php b/tests/e2e/Services/Account/AccountBase.php index 13b5015241..c678fb83cd 100644 --- a/tests/e2e/Services/Account/AccountBase.php +++ b/tests/e2e/Services/Account/AccountBase.php @@ -326,4 +326,38 @@ trait AccountBase $this->assertEquals($response['headers']['status-code'], 204); } + + public function testTrustedIpViaHeaders(): void + { + $email = uniqid() . 'user@localhost.test'; + $password = 'password'; + $name = 'User Name'; + + $response = $this->client->call(Client::METHOD_POST, '/account', array_merge([ + 'origin' => 'http://localhost', + 'content-type' => 'application/json', + 'x-appwrite-project' => $this->getProject()['$id'], + 'x-forwarded-for' => '203.0.113.195', + ]), [ + 'userId' => ID::unique(), + 'email' => $email, + 'password' => $password, + 'name' => $name, + ]); + + $this->assertEquals($response['headers']['status-code'], 201); + + $response = $this->client->call(Client::METHOD_POST, '/account/sessions/email', array_merge([ + 'origin' => 'http://localhost', + 'content-type' => 'application/json', + 'x-appwrite-project' => $this->getProject()['$id'], + 'x-forwarded-for' => '203.0.113.195', + ]), [ + 'email' => $email, + 'password' => $password, + ]); + + $this->assertEquals($response['headers']['status-code'], 201); + $this->assertEquals('203.0.113.195', $response['body']['clientIp'] ?? $response['body']['ip'] ?? ''); + } } From 6589c6a7863fc2fbf4a75861d9d14532c3a3a071 Mon Sep 17 00:00:00 2001 From: Levi van Noort <73097785+levivannoort@users.noreply.github.com> Date: Fri, 12 Dec 2025 10:54:09 +0100 Subject: [PATCH 052/220] chore: bump utopia-php/framework to version 0.33.35 --- composer.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/composer.lock b/composer.lock index 47a32cf774..e88eb8fe62 100644 --- a/composer.lock +++ b/composer.lock @@ -4264,16 +4264,16 @@ }, { "name": "utopia-php/framework", - "version": "0.33.34", + "version": "0.33.35", "source": { "type": "git", "url": "https://github.com/utopia-php/http.git", - "reference": "76def92594c32504ec80eaacdb60ff8fad73c856" + "reference": "82b139fb04f30045db51b0d322224f222da32313" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/utopia-php/http/zipball/76def92594c32504ec80eaacdb60ff8fad73c856", - "reference": "76def92594c32504ec80eaacdb60ff8fad73c856", + "url": "https://api.github.com/repos/utopia-php/http/zipball/82b139fb04f30045db51b0d322224f222da32313", + "reference": "82b139fb04f30045db51b0d322224f222da32313", "shasum": "" }, "require": { @@ -4306,9 +4306,9 @@ ], "support": { "issues": "https://github.com/utopia-php/http/issues", - "source": "https://github.com/utopia-php/http/tree/0.33.34" + "source": "https://github.com/utopia-php/http/tree/0.33.35" }, - "time": "2025-12-08T07:55:31+00:00" + "time": "2025-12-12T08:33:52+00:00" }, { "name": "utopia-php/image", From ce9a54fd4b39b11ec058f218872a734b6d423088 Mon Sep 17 00:00:00 2001 From: Levi van Noort <73097785+levivannoort@users.noreply.github.com> Date: Fri, 12 Dec 2025 15:31:42 +0100 Subject: [PATCH 053/220] chore: change implementation for trustedip --- .env | 2 +- src/Appwrite/Utopia/Request.php | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.env b/.env index c9a8b3a0b4..9c6dc04223 100644 --- a/.env +++ b/.env @@ -125,4 +125,4 @@ _APP_WEBHOOK_MAX_FAILED_ATTEMPTS=10 _APP_PROJECT_REGIONS=default _APP_FUNCTIONS_CREATION_ABUSE_LIMIT=5000 _APP_STATS_USAGE_DUAL_WRITING_DBS=database_db_main -_APP_TRUSTED_HEADERS= +_APP_TRUSTED_HEADERS=x-forwarded-for diff --git a/src/Appwrite/Utopia/Request.php b/src/Appwrite/Utopia/Request.php index 8e6b5d47b3..cb449e6ffa 100644 --- a/src/Appwrite/Utopia/Request.php +++ b/src/Appwrite/Utopia/Request.php @@ -13,8 +13,6 @@ use Utopia\System\System; class Request extends UtopiaRequest { - protected array $trustedIpHeaders = explode(",", System::getEnv('_APP_TRUSTED_HEADERS') ?? 'x-forwarded-for'); - /** * @var array */ @@ -23,6 +21,9 @@ class Request extends UtopiaRequest public function __construct(SwooleRequest $request) { + $trustedHeaders = System::getEnv('_APP_TRUSTED_HEADERS', 'x-forwarded-for'); + $this->setTrustedIpHeaders(explode(',', $trustedHeaders)); + parent::__construct($request); } From 70395cfaccc2f633074f247315c522e82eb33c67 Mon Sep 17 00:00:00 2001 From: ArnabChatterjee20k Date: Sat, 13 Dec 2025 23:43:51 +0530 Subject: [PATCH 054/220] added tableid and collectionid in increment and decrement --- .../Databases/Collections/Documents/Attribute/Decrement.php | 1 + .../Databases/Collections/Documents/Attribute/Increment.php | 1 + src/Appwrite/Utopia/Response/Model/Document.php | 2 +- tests/e2e/Services/Databases/Legacy/DatabasesBase.php | 2 ++ tests/e2e/Services/Databases/TablesDB/DatabasesBase.php | 2 ++ 5 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Attribute/Decrement.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Attribute/Decrement.php index 38e7f8f231..a3a1ea6ce8 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Attribute/Decrement.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Attribute/Decrement.php @@ -177,6 +177,7 @@ class Decrement extends Action value: $value, min: $min ); + $document->setAttribute('$' . $this->getCollectionsEventsContext() . 'Id', $collectionId); } catch (ConflictException) { throw new Exception($this->getConflictException()); } catch (NotFoundException) { diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Attribute/Increment.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Attribute/Increment.php index 10dadae824..157c5ef2af 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Attribute/Increment.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Attribute/Increment.php @@ -177,6 +177,7 @@ class Increment extends Action value: $value, max: $max ); + $document->setAttribute('$' . $this->getCollectionsEventsContext() . 'Id', $collectionId); } catch (ConflictException) { throw new Exception($this->getConflictException()); } catch (NotFoundException) { diff --git a/src/Appwrite/Utopia/Response/Model/Document.php b/src/Appwrite/Utopia/Response/Model/Document.php index f9766c895c..c04cf817b7 100644 --- a/src/Appwrite/Utopia/Response/Model/Document.php +++ b/src/Appwrite/Utopia/Response/Model/Document.php @@ -82,7 +82,7 @@ class Document extends Any { $document->removeAttribute('$collection'); $document->removeAttribute('$tenant'); - + var_dump($document->getArrayCopy()); if (!$document->isEmpty()) { $document->setAttribute('$sequence', (int)$document->getAttribute('$sequence', 0)); } diff --git a/tests/e2e/Services/Databases/Legacy/DatabasesBase.php b/tests/e2e/Services/Databases/Legacy/DatabasesBase.php index d43d183e5a..d1d2c9687d 100644 --- a/tests/e2e/Services/Databases/Legacy/DatabasesBase.php +++ b/tests/e2e/Services/Databases/Legacy/DatabasesBase.php @@ -6118,6 +6118,7 @@ trait DatabasesBase ])); $this->assertEquals(200, $inc['headers']['status-code']); $this->assertEquals(6, $inc['body']['count']); + $this->assertEquals($collectionId, $inc['body']['$collectionId']); // Verify count = 6 $get = $this->client->call(Client::METHOD_GET, "/databases/$databaseId/collections/$collectionId/documents/$docId", array_merge([ @@ -6229,6 +6230,7 @@ trait DatabasesBase ])); $this->assertEquals(200, $dec['headers']['status-code']); $this->assertEquals(9, $dec['body']['count']); + $this->assertEquals($collectionId, $dec['body']['$collectionId']); $get = $this->client->call(Client::METHOD_GET, '/databases/' . $databaseId . '/collections/' . $collectionId . '/documents/' . $documentId, array_merge([ 'content-type' => 'application/json', diff --git a/tests/e2e/Services/Databases/TablesDB/DatabasesBase.php b/tests/e2e/Services/Databases/TablesDB/DatabasesBase.php index e74431c779..ba111e5923 100644 --- a/tests/e2e/Services/Databases/TablesDB/DatabasesBase.php +++ b/tests/e2e/Services/Databases/TablesDB/DatabasesBase.php @@ -7760,6 +7760,7 @@ trait DatabasesBase 'x-appwrite-project' => $this->getProject()['$id'], ])); $this->assertEquals(200, $inc['headers']['status-code']); + $this->assertEquals($tableId, $inc['body']['$tableId']); $this->assertEquals(6, $inc['body']['count']); // Verify count = 6 @@ -7872,6 +7873,7 @@ trait DatabasesBase ])); $this->assertEquals(200, $dec['headers']['status-code']); $this->assertEquals(9, $dec['body']['count']); + $this->assertEquals($tableId, $dec['body']['$tableId']); $get = $this->client->call(Client::METHOD_GET, '/tablesdb/' . $databaseId . '/tables/' . $tableId . '/rows/' . $rowId, array_merge([ 'content-type' => 'application/json', From e4e6c84362a8fd76123c3ea249fc18cf6a562dea Mon Sep 17 00:00:00 2001 From: ArnabChatterjee20k Date: Sat, 13 Dec 2025 23:45:57 +0530 Subject: [PATCH 055/220] linting --- src/Appwrite/Utopia/Response/Model/Document.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Appwrite/Utopia/Response/Model/Document.php b/src/Appwrite/Utopia/Response/Model/Document.php index c04cf817b7..f9766c895c 100644 --- a/src/Appwrite/Utopia/Response/Model/Document.php +++ b/src/Appwrite/Utopia/Response/Model/Document.php @@ -82,7 +82,7 @@ class Document extends Any { $document->removeAttribute('$collection'); $document->removeAttribute('$tenant'); - var_dump($document->getArrayCopy()); + if (!$document->isEmpty()) { $document->setAttribute('$sequence', (int)$document->getAttribute('$sequence', 0)); } From 944129551006ba4f2cc042716b78fc1889cc1d03 Mon Sep 17 00:00:00 2001 From: Damodar Lohani Date: Sun, 14 Dec 2025 01:43:35 +0000 Subject: [PATCH 056/220] Feat: Audits upgrade --- app/controllers/api/messaging.php | 22 ++++++---- app/controllers/api/projects.php | 3 +- app/controllers/api/teams.php | 4 +- app/controllers/api/users.php | 4 +- app/http.php | 7 ++- app/init/resources.php | 11 ++++- composer.json | 6 +-- composer.lock | 43 +++++++++++-------- .../Collections/Documents/Logs/XList.php | 4 +- .../Http/Databases/Collections/Logs/XList.php | 12 +++--- .../Databases/Http/Databases/Logs/XList.php | 12 +++--- .../Databases/Http/TablesDB/Logs/XList.php | 12 +++--- src/Appwrite/Platform/Workers/Audits.php | 4 +- 13 files changed, 85 insertions(+), 59 deletions(-) diff --git a/app/controllers/api/messaging.php b/app/controllers/api/messaging.php index 771dd0e6a5..eed12c3376 100644 --- a/app/controllers/api/messaging.php +++ b/app/controllers/api/messaging.php @@ -1145,7 +1145,8 @@ App::get('/v1/messaging/providers/:providerId/logs') ->inject('dbForProject') ->inject('locale') ->inject('geodb') - ->action(function (string $providerId, array $queries, bool $includeTotal, Response $response, Database $dbForProject, Locale $locale, Reader $geodb) { + ->inject('audit') + ->action(function (string $providerId, array $queries, bool $includeTotal, Response $response, Database $dbForProject, Locale $locale, Reader $geodb, Audit $audit) { $provider = $dbForProject->getDocument('providers', $providerId); if ($provider->isEmpty()) { @@ -1158,9 +1159,12 @@ App::get('/v1/messaging/providers/:providerId/logs') throw new Exception(Exception::GENERAL_QUERY_INVALID, $e->getMessage()); } - $audit = new Audit($dbForProject); + $grouped = Query::groupByType($queries); + $limit = $grouped['limit'] ?? 25; + $offset = $grouped['offset'] ?? 0; + $resource = 'provider/' . $providerId; - $logs = $audit->getLogsByResource($resource, $queries); + $logs = $audit->getLogsByResource($resource, offset: $offset, limit: $limit); $output = []; foreach ($logs as $i => &$log) { @@ -2549,7 +2553,8 @@ App::get('/v1/messaging/topics/:topicId/logs') ->inject('dbForProject') ->inject('locale') ->inject('geodb') - ->action(function (string $topicId, array $queries, bool $includeTotal, Response $response, Database $dbForProject, Locale $locale, Reader $geodb) { + ->inject('audit') + ->action(function (string $topicId, array $queries, bool $includeTotal, Response $response, Database $dbForProject, Locale $locale, Reader $geodb, Audit $audit) { $topic = $dbForProject->getDocument('topics', $topicId); if ($topic->isEmpty()) { @@ -2562,7 +2567,6 @@ App::get('/v1/messaging/topics/:topicId/logs') throw new Exception(Exception::GENERAL_QUERY_INVALID, $e->getMessage()); } - $audit = new Audit($dbForProject); $resource = 'topic/' . $topicId; $logs = $audit->getLogsByResource($resource, $queries); @@ -2966,7 +2970,8 @@ App::get('/v1/messaging/subscribers/:subscriberId/logs') ->inject('dbForProject') ->inject('locale') ->inject('geodb') - ->action(function (string $subscriberId, array $queries, bool $includeTotal, Response $response, Database $dbForProject, Locale $locale, Reader $geodb) { + ->inject('audit') + ->action(function (string $subscriberId, array $queries, bool $includeTotal, Response $response, Database $dbForProject, Locale $locale, Reader $geodb, Audit $audit) { $subscriber = $dbForProject->getDocument('subscribers', $subscriberId); if ($subscriber->isEmpty()) { @@ -2979,7 +2984,6 @@ App::get('/v1/messaging/subscribers/:subscriberId/logs') throw new Exception(Exception::GENERAL_QUERY_INVALID, $e->getMessage()); } - $audit = new Audit($dbForProject); $resource = 'subscriber/' . $subscriberId; $logs = $audit->getLogsByResource($resource, $queries); @@ -3761,7 +3765,8 @@ App::get('/v1/messaging/messages/:messageId/logs') ->inject('dbForProject') ->inject('locale') ->inject('geodb') - ->action(function (string $messageId, array $queries, bool $includeTotal, Response $response, Database $dbForProject, Locale $locale, Reader $geodb) { + ->inject('audit') + ->action(function (string $messageId, array $queries, bool $includeTotal, Response $response, Database $dbForProject, Locale $locale, Reader $geodb, Audit $audit) { $message = $dbForProject->getDocument('messages', $messageId); if ($message->isEmpty()) { @@ -3774,7 +3779,6 @@ App::get('/v1/messaging/messages/:messageId/logs') throw new Exception(Exception::GENERAL_QUERY_INVALID, $e->getMessage()); } - $audit = new Audit($dbForProject); $resource = 'message/' . $messageId; $logs = $audit->getLogsByResource($resource, $queries); diff --git a/app/controllers/api/projects.php b/app/controllers/api/projects.php index 37f7fdbc8b..364a7914b4 100644 --- a/app/controllers/api/projects.php +++ b/app/controllers/api/projects.php @@ -247,7 +247,8 @@ App::post('/v1/projects') } if ($create || $projectTables) { - $audit = new Audit($dbForProject); + $adapter = new \Utopia\Audit\Adapters\Database($dbForProject); + $audit = new Audit($adapter); $audit->setup(); } diff --git a/app/controllers/api/teams.php b/app/controllers/api/teams.php index 5f45c38fed..04a43577ad 100644 --- a/app/controllers/api/teams.php +++ b/app/controllers/api/teams.php @@ -1464,7 +1464,8 @@ App::get('/v1/teams/:teamId/logs') ->inject('dbForProject') ->inject('locale') ->inject('geodb') - ->action(function (string $teamId, array $queries, bool $includeTotal, Response $response, Database $dbForProject, Locale $locale, Reader $geodb) { + ->inject('audit') + ->action(function (string $teamId, array $queries, bool $includeTotal, Response $response, Database $dbForProject, Locale $locale, Reader $geodb, Audit $audit) { $team = $dbForProject->getDocument('teams', $teamId); @@ -1478,7 +1479,6 @@ App::get('/v1/teams/:teamId/logs') throw new Exception(Exception::GENERAL_QUERY_INVALID, $e->getMessage()); } - $audit = new Audit($dbForProject); $resource = 'team/' . $team->getId(); $logs = $audit->getLogsByResource($resource, $queries); diff --git a/app/controllers/api/users.php b/app/controllers/api/users.php index e49b0631d3..161b5a3298 100644 --- a/app/controllers/api/users.php +++ b/app/controllers/api/users.php @@ -945,7 +945,8 @@ App::get('/v1/users/:userId/logs') ->inject('dbForProject') ->inject('locale') ->inject('geodb') - ->action(function (string $userId, array $queries, bool $includeTotal, Response $response, Database $dbForProject, Locale $locale, Reader $geodb) { + ->inject('audit') + ->action(function (string $userId, array $queries, bool $includeTotal, Response $response, Database $dbForProject, Locale $locale, Reader $geodb, Audit $audit) { $user = $dbForProject->getDocument('users', $userId); @@ -958,7 +959,6 @@ App::get('/v1/users/:userId/logs') throw new Exception(Exception::GENERAL_QUERY_INVALID, $e->getMessage()); } - $audit = new Audit($dbForProject); $logs = $audit->getLogsByUser($user->getSequence(), $queries); $output = []; foreach ($logs as $i => &$log) { diff --git a/app/http.php b/app/http.php index 1bd3e97e69..5bee2c1309 100644 --- a/app/http.php +++ b/app/http.php @@ -12,6 +12,7 @@ use Swoole\Process; use Swoole\Table; use Swoole\Timer; use Utopia\App; +use Utopia\Audit\Adapter\Database as AdapterDatabase; use Utopia\Audit\Audit; use Utopia\CLI\Console; use Utopia\Compression\Compression; @@ -261,7 +262,8 @@ $http->on(Constant::EVENT_START, function (Server $http) use ($payloadSize, $reg // create appwrite database, `dbForPlatform` is a direct access call. createDatabase($app, 'dbForPlatform', 'appwrite', $collections['console'], $pools, function (Database $dbForPlatform) use ($collections) { if ($dbForPlatform->getCollection(Audit::COLLECTION)->isEmpty()) { - $audit = new Audit($dbForPlatform); + $adapter = new AdapterDatabase($dbForPlatform); + $audit = new Audit($adapter); $audit->setup(); } @@ -390,7 +392,8 @@ $http->on(Constant::EVENT_START, function (Server $http) use ($payloadSize, $reg } if ($dbForProject->getCollection(Audit::COLLECTION)->isEmpty()) { - $audit = new Audit($dbForProject); + $adapter = new AdapterDatabase($dbForProject); + $audit = new Audit($adapter); $audit->setup(); } diff --git a/app/init/resources.php b/app/init/resources.php index 6351dae478..ba525091b6 100644 --- a/app/init/resources.php +++ b/app/init/resources.php @@ -4,7 +4,7 @@ use Ahc\Jwt\JWT; use Ahc\Jwt\JWTException; use Appwrite\Auth\Key; use Appwrite\Databases\TransactionState; -use Appwrite\Event\Audit; +use Appwrite\Event\Audit as AuditEvent; use Appwrite\Event\Build; use Appwrite\Event\Certificate; use Appwrite\Event\Database as EventDatabase; @@ -30,6 +30,8 @@ use Appwrite\Utopia\Response; use Executor\Executor; use Utopia\Abuse\Adapters\TimeLimit\Redis as TimeLimitRedis; use Utopia\App; +use Utopia\Audit\Adapter\Database as AdapterDatabase; +use Utopia\Audit\Audit; use Utopia\Auth\Hashes\Argon2; use Utopia\Auth\Hashes\Sha; use Utopia\Auth\Proofs\Code; @@ -146,7 +148,7 @@ App::setResource('queueForStatsUsage', function (Publisher $publisher) { return new StatsUsage($publisher); }, ['publisher']); App::setResource('queueForAudits', function (Publisher $publisher) { - return new Audit($publisher); + return new AuditEvent($publisher); }, ['publisher']); App::setResource('queueForFunctions', function (Publisher $publisher) { return new Func($publisher); @@ -652,6 +654,11 @@ App::setResource('getLogsDB', function (Group $pools, Cache $cache) { }; }, ['pools', 'cache']); +App::setResource('audit', function ($dbForProject) { + $adapter = new AdapterDatabase($dbForProject); + return new Audit($adapter); +}, ['dbForProject']); + App::setResource('telemetry', fn () => new NoTelemetry()); App::setResource('cache', function (Group $pools, Telemetry $telemetry) { diff --git a/composer.json b/composer.json index d32b739311..e00d5832cb 100644 --- a/composer.json +++ b/composer.json @@ -47,12 +47,12 @@ "appwrite/php-clamav": "2.0.*", "utopia-php/abuse": "1.*", "utopia-php/analytics": "0.10.*", - "utopia-php/audit": "1.*", + "utopia-php/audit": "2.*", "utopia-php/auth": "0.5.*", "utopia-php/cache": "0.13.*", "utopia-php/cli": "0.15.*", "utopia-php/config": "1.*.*", - "utopia-php/database": "3.*", + "utopia-php/database": "3.5.0 as 4.0.0", "utopia-php/detector": "0.2.*", "utopia-php/domains": "0.9.*", "utopia-php/emails": "0.6.*", @@ -109,4 +109,4 @@ "tbachert/spi": true } } -} +} \ No newline at end of file diff --git a/composer.lock b/composer.lock index 47a32cf774..f1ab2dc20d 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "7c9cb03eb5267f1e7a3ffc037ae22b6a", + "content-hash": "bdc28f33867a1e231528daa7dc812702", "packages": [ { "name": "adhocore/jwt", @@ -3552,21 +3552,23 @@ }, { "name": "utopia-php/audit", - "version": "1.0.2", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/utopia-php/audit.git", - "reference": "8c17065c2473d4ca799f65585ca74eb53e1be211" + "reference": "bac717c6096594eed3949a7d47b87700e7573c8b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/utopia-php/audit/zipball/8c17065c2473d4ca799f65585ca74eb53e1be211", - "reference": "8c17065c2473d4ca799f65585ca74eb53e1be211", + "url": "https://api.github.com/repos/utopia-php/audit/zipball/bac717c6096594eed3949a7d47b87700e7573c8b", + "reference": "bac717c6096594eed3949a7d47b87700e7573c8b", "shasum": "" }, "require": { "php": ">=8.0", - "utopia-php/database": "*" + "utopia-php/database": "4.*", + "utopia-php/fetch": "^0.4.2", + "utopia-php/validators": "^0.1.0" }, "require-dev": { "laravel/pint": "1.*", @@ -3593,9 +3595,9 @@ ], "support": { "issues": "https://github.com/utopia-php/audit/issues", - "source": "https://github.com/utopia-php/audit/tree/1.0.2" + "source": "https://github.com/utopia-php/audit/tree/2.0.0" }, - "time": "2025-10-20T07:14:26+00:00" + "time": "2025-12-13T23:17:26+00:00" }, { "name": "utopia-php/auth", @@ -4264,16 +4266,16 @@ }, { "name": "utopia-php/framework", - "version": "0.33.34", + "version": "0.33.35", "source": { "type": "git", "url": "https://github.com/utopia-php/http.git", - "reference": "76def92594c32504ec80eaacdb60ff8fad73c856" + "reference": "82b139fb04f30045db51b0d322224f222da32313" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/utopia-php/http/zipball/76def92594c32504ec80eaacdb60ff8fad73c856", - "reference": "76def92594c32504ec80eaacdb60ff8fad73c856", + "url": "https://api.github.com/repos/utopia-php/http/zipball/82b139fb04f30045db51b0d322224f222da32313", + "reference": "82b139fb04f30045db51b0d322224f222da32313", "shasum": "" }, "require": { @@ -4306,9 +4308,9 @@ ], "support": { "issues": "https://github.com/utopia-php/http/issues", - "source": "https://github.com/utopia-php/http/tree/0.33.34" + "source": "https://github.com/utopia-php/http/tree/0.33.35" }, - "time": "2025-12-08T07:55:31+00:00" + "time": "2025-12-12T08:33:52+00:00" }, { "name": "utopia-php/image", @@ -8941,9 +8943,16 @@ "time": "2024-03-07T20:33:40+00:00" } ], - "aliases": [], + "aliases": [ + { + "package": "utopia-php/database", + "version": "3.5.0.0", + "alias": "4.0.0", + "alias_normalized": "4.0.0.0" + } + ], "minimum-stability": "stable", - "stability-flags": [], + "stability-flags": {}, "prefer-stable": false, "prefer-lowest": false, "platform": { @@ -8967,5 +8976,5 @@ "platform-overrides": { "php": "8.3" }, - "plugin-api-version": "2.6.0" + "plugin-api-version": "2.9.0" } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Logs/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Logs/XList.php index 47f5247831..292bed4c36 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Logs/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Logs/XList.php @@ -72,10 +72,11 @@ class XList extends Action ->inject('dbForProject') ->inject('locale') ->inject('geodb') + ->inject('audit') ->callback($this->action(...)); } - public function action(string $databaseId, string $collectionId, string $documentId, array $queries, UtopiaResponse $response, Database $dbForProject, Locale $locale, Reader $geodb): void + public function action(string $databaseId, string $collectionId, string $documentId, array $queries, UtopiaResponse $response, Database $dbForProject, Locale $locale, Reader $geodb, Audit $audit): void { $database = Authorization::skip(fn () => $dbForProject->getDocument('databases', $databaseId)); if ($database->isEmpty()) { @@ -98,7 +99,6 @@ class XList extends Action throw new Exception(Exception::GENERAL_QUERY_INVALID, $e->getMessage()); } - $audit = new Audit($dbForProject); $type = $this->getCollectionsEventsContext(); $context = $this->getContext(); $resource = "database/$databaseId/$type/$collectionId/$context/{$document->getId()}"; diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Logs/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Logs/XList.php index a45daa32a4..2244bfd2d7 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Logs/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Logs/XList.php @@ -67,14 +67,15 @@ class XList extends Action ->param('databaseId', '', new UID(), 'Database ID.') ->param('collectionId', '', new UID(), 'Collection ID.') ->param('queries', [], new Queries([new Limit(), new Offset()]), 'Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Only supported methods are limit and offset', true) - ->inject('response') - ->inject('dbForProject') - ->inject('locale') - ->inject('geodb') + ->inject('response') + ->inject('dbForProject') + ->inject('locale') + ->inject('geodb') + ->inject('audit') ->callback($this->action(...)); } - public function action(string $databaseId, string $collectionId, array $queries, UtopiaResponse $response, Database $dbForProject, Locale $locale, Reader $geodb): void + public function action(string $databaseId, string $collectionId, array $queries, UtopiaResponse $response, Database $dbForProject, Locale $locale, Reader $geodb, Audit $audit): void { $database = Authorization::skip(fn () => $dbForProject->getDocument('databases', $databaseId)); @@ -95,7 +96,6 @@ class XList extends Action throw new Exception(Exception::GENERAL_QUERY_INVALID, $e->getMessage()); } - $audit = new Audit($dbForProject); $context = $this->getContext(); $resource = "database/$databaseId/$context/$collectionId"; $logs = $audit->getLogsByResource($resource, $queries); diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Logs/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Logs/XList.php index a794ec325e..42081127d5 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Logs/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Logs/XList.php @@ -63,14 +63,15 @@ class XList extends Action ]) ->param('databaseId', '', new UID(), 'Database ID.') ->param('queries', [], new Queries([new Limit(), new Offset()]), 'Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Only supported methods are limit and offset', true) - ->inject('response') - ->inject('dbForProject') - ->inject('locale') - ->inject('geodb') + ->inject('response') + ->inject('dbForProject') + ->inject('locale') + ->inject('geodb') + ->inject('audit') ->callback($this->action(...)); } - public function action(string $databaseId, array $queries, UtopiaResponse $response, Database $dbForProject, Locale $locale, Reader $geodb): void + public function action(string $databaseId, array $queries, UtopiaResponse $response, Database $dbForProject, Locale $locale, Reader $geodb, Audit $audit): void { $database = $dbForProject->getDocument('databases', $databaseId); @@ -84,7 +85,6 @@ class XList extends Action throw new Exception(Exception::GENERAL_QUERY_INVALID, $e->getMessage()); } - $audit = new Audit($dbForProject); $resource = 'database/' . $databaseId; $logs = $audit->getLogsByResource($resource, $queries); diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Logs/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Logs/XList.php index 53476dbae1..ed2aaa848c 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Logs/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Logs/XList.php @@ -58,14 +58,15 @@ class XList extends Action ]) ->param('databaseId', '', new UID(), 'Database ID.') ->param('queries', [], new Queries([new Limit(), new Offset()]), 'Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Only supported methods are limit and offset', true) - ->inject('response') - ->inject('dbForProject') - ->inject('locale') - ->inject('geodb') + ->inject('response') + ->inject('dbForProject') + ->inject('locale') + ->inject('geodb') + ->inject('audit') ->callback($this->action(...)); } - public function action(string $databaseId, array $queries, UtopiaResponse $response, Database $dbForProject, Locale $locale, Reader $geodb): void + public function action(string $databaseId, array $queries, UtopiaResponse $response, Database $dbForProject, Locale $locale, Reader $geodb, Audit $audit): void { $database = $dbForProject->getDocument('databases', $databaseId); @@ -79,7 +80,6 @@ class XList extends Action throw new Exception(Exception::GENERAL_QUERY_INVALID, $e->getMessage()); } - $audit = new Audit($dbForProject); $resource = 'database/' . $databaseId; $logs = $audit->getLogsByResource($resource, $queries); diff --git a/src/Appwrite/Platform/Workers/Audits.php b/src/Appwrite/Platform/Workers/Audits.php index be542e7811..2f0364e408 100644 --- a/src/Appwrite/Platform/Workers/Audits.php +++ b/src/Appwrite/Platform/Workers/Audits.php @@ -5,6 +5,7 @@ namespace Appwrite\Platform\Workers; use Exception; use Throwable; use Utopia\Audit\Audit; +use Utopia\Audit\Adapters\Database as AdapterDatabase; use Utopia\CLI\Console; use Utopia\Database\Document; use Utopia\Database\Exception\Authorization; @@ -136,7 +137,8 @@ class Audits extends Action $projectDocument = $projectLogs['project']; $dbForProject = $getProjectDB($projectDocument); - $audit = new Audit($dbForProject); + $adapter = new AdapterDatabase($dbForProject); + $audit = new Audit($adapter); $audit->logBatch($projectLogs['logs']); Console::success('Audit logs processed successfully'); From c50db111d61305080bf65364a2d8b237931d4080 Mon Sep 17 00:00:00 2001 From: Damodar Lohani Date: Sun, 14 Dec 2025 02:19:53 +0000 Subject: [PATCH 057/220] format --- .../Platform/Modules/Databases/Http/Databases/Logs/XList.php | 2 +- src/Appwrite/Platform/Workers/Audits.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Logs/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Logs/XList.php index 42081127d5..be30a0fad8 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Logs/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Logs/XList.php @@ -71,7 +71,7 @@ class XList extends Action ->callback($this->action(...)); } - public function action(string $databaseId, array $queries, UtopiaResponse $response, Database $dbForProject, Locale $locale, Reader $geodb, Audit $audit): void + public function action(string $databaseId, array $queries, UtopiaResponse $response, Database $dbForProject, Locale $locale, Reader $geodb, Audit $audit): void { $database = $dbForProject->getDocument('databases', $databaseId); diff --git a/src/Appwrite/Platform/Workers/Audits.php b/src/Appwrite/Platform/Workers/Audits.php index 2f0364e408..369a67116d 100644 --- a/src/Appwrite/Platform/Workers/Audits.php +++ b/src/Appwrite/Platform/Workers/Audits.php @@ -4,8 +4,8 @@ namespace Appwrite\Platform\Workers; use Exception; use Throwable; -use Utopia\Audit\Audit; use Utopia\Audit\Adapters\Database as AdapterDatabase; +use Utopia\Audit\Audit; use Utopia\CLI\Console; use Utopia\Database\Document; use Utopia\Database\Exception\Authorization; From a0599d26582141f6b034748b21a64723aa7e9890 Mon Sep 17 00:00:00 2001 From: Damodar Lohani Date: Sun, 14 Dec 2025 02:31:24 +0000 Subject: [PATCH 058/220] Upgrade audit --- composer.json | 4 ++-- composer.lock | 41 ++++++++++++++++++----------------------- 2 files changed, 20 insertions(+), 25 deletions(-) diff --git a/composer.json b/composer.json index e00d5832cb..be88d8ae5e 100644 --- a/composer.json +++ b/composer.json @@ -47,12 +47,12 @@ "appwrite/php-clamav": "2.0.*", "utopia-php/abuse": "1.*", "utopia-php/analytics": "0.10.*", - "utopia-php/audit": "2.*", + "utopia-php/audit": "dev-feat-db-3.x", "utopia-php/auth": "0.5.*", "utopia-php/cache": "0.13.*", "utopia-php/cli": "0.15.*", "utopia-php/config": "1.*.*", - "utopia-php/database": "3.5.0 as 4.0.0", + "utopia-php/database": "3.*.*", "utopia-php/detector": "0.2.*", "utopia-php/domains": "0.9.*", "utopia-php/emails": "0.6.*", diff --git a/composer.lock b/composer.lock index f1ab2dc20d..3e6b49307f 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "bdc28f33867a1e231528daa7dc812702", + "content-hash": "d26b9cee30ab2cc3bc5873ac911918d1", "packages": [ { "name": "adhocore/jwt", @@ -3552,21 +3552,21 @@ }, { "name": "utopia-php/audit", - "version": "2.0.0", + "version": "dev-feat-db-3.x", "source": { "type": "git", "url": "https://github.com/utopia-php/audit.git", - "reference": "bac717c6096594eed3949a7d47b87700e7573c8b" + "reference": "5b5a5440eb37ee6c6b7fc717868e6965b19c003f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/utopia-php/audit/zipball/bac717c6096594eed3949a7d47b87700e7573c8b", - "reference": "bac717c6096594eed3949a7d47b87700e7573c8b", + "url": "https://api.github.com/repos/utopia-php/audit/zipball/5b5a5440eb37ee6c6b7fc717868e6965b19c003f", + "reference": "5b5a5440eb37ee6c6b7fc717868e6965b19c003f", "shasum": "" }, "require": { "php": ">=8.0", - "utopia-php/database": "4.*", + "utopia-php/database": "3.*", "utopia-php/fetch": "^0.4.2", "utopia-php/validators": "^0.1.0" }, @@ -3595,9 +3595,9 @@ ], "support": { "issues": "https://github.com/utopia-php/audit/issues", - "source": "https://github.com/utopia-php/audit/tree/2.0.0" + "source": "https://github.com/utopia-php/audit/tree/feat-db-3.x" }, - "time": "2025-12-13T23:17:26+00:00" + "time": "2025-12-14T02:29:51+00:00" }, { "name": "utopia-php/auth", @@ -3898,16 +3898,16 @@ }, { "name": "utopia-php/database", - "version": "3.5.0", + "version": "3.6.0", "source": { "type": "git", "url": "https://github.com/utopia-php/database.git", - "reference": "5da71b65a6123ce2e78795522b05b7458aabfbd7" + "reference": "af15066255a5fd7bd2926de37bcbf3d8500fc155" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/utopia-php/database/zipball/5da71b65a6123ce2e78795522b05b7458aabfbd7", - "reference": "5da71b65a6123ce2e78795522b05b7458aabfbd7", + "url": "https://api.github.com/repos/utopia-php/database/zipball/af15066255a5fd7bd2926de37bcbf3d8500fc155", + "reference": "af15066255a5fd7bd2926de37bcbf3d8500fc155", "shasum": "" }, "require": { @@ -3950,9 +3950,9 @@ ], "support": { "issues": "https://github.com/utopia-php/database/issues", - "source": "https://github.com/utopia-php/database/tree/3.5.0" + "source": "https://github.com/utopia-php/database/tree/3.6.0" }, - "time": "2025-11-18T08:11:01+00:00" + "time": "2025-12-08T05:23:04+00:00" }, { "name": "utopia-php/detector", @@ -8943,16 +8943,11 @@ "time": "2024-03-07T20:33:40+00:00" } ], - "aliases": [ - { - "package": "utopia-php/database", - "version": "3.5.0.0", - "alias": "4.0.0", - "alias_normalized": "4.0.0.0" - } - ], + "aliases": [], "minimum-stability": "stable", - "stability-flags": {}, + "stability-flags": { + "utopia-php/audit": 20 + }, "prefer-stable": false, "prefer-lowest": false, "platform": { From 30083598c6df64cc0ec41a7c1d4ba51615346c15 Mon Sep 17 00:00:00 2001 From: Damodar Lohani Date: Sun, 14 Dec 2025 02:33:17 +0000 Subject: [PATCH 059/220] fix audit --- app/http.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/http.php b/app/http.php index 5bee2c1309..cedfcdf1f3 100644 --- a/app/http.php +++ b/app/http.php @@ -13,6 +13,7 @@ use Swoole\Table; use Swoole\Timer; use Utopia\App; use Utopia\Audit\Adapter\Database as AdapterDatabase; +use Utopia\Audit\Adapter\SQL as AuditAdapterSQL; use Utopia\Audit\Audit; use Utopia\CLI\Console; use Utopia\Compression\Compression; @@ -261,7 +262,7 @@ $http->on(Constant::EVENT_START, function (Server $http) use ($payloadSize, $reg // create appwrite database, `dbForPlatform` is a direct access call. createDatabase($app, 'dbForPlatform', 'appwrite', $collections['console'], $pools, function (Database $dbForPlatform) use ($collections) { - if ($dbForPlatform->getCollection(Audit::COLLECTION)->isEmpty()) { + if ($dbForPlatform->getCollection(SQL::COLLECTION)->isEmpty()) { $adapter = new AdapterDatabase($dbForPlatform); $audit = new Audit($adapter); $audit->setup(); @@ -391,7 +392,7 @@ $http->on(Constant::EVENT_START, function (Server $http) use ($payloadSize, $reg Console::success('[Setup] - Skip: metadata table already exists'); } - if ($dbForProject->getCollection(Audit::COLLECTION)->isEmpty()) { + if ($dbForProject->getCollection(AuditAdapterSQL::COLLECTION)->isEmpty()) { $adapter = new AdapterDatabase($dbForProject); $audit = new Audit($adapter); $audit->setup(); From 2dcb1317786732a6fe8a61ea2a73aeb7d4c32af3 Mon Sep 17 00:00:00 2001 From: Damodar Lohani Date: Sun, 14 Dec 2025 02:34:33 +0000 Subject: [PATCH 060/220] fix collection name --- app/http.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/http.php b/app/http.php index cedfcdf1f3..b7f857da48 100644 --- a/app/http.php +++ b/app/http.php @@ -262,7 +262,7 @@ $http->on(Constant::EVENT_START, function (Server $http) use ($payloadSize, $reg // create appwrite database, `dbForPlatform` is a direct access call. createDatabase($app, 'dbForPlatform', 'appwrite', $collections['console'], $pools, function (Database $dbForPlatform) use ($collections) { - if ($dbForPlatform->getCollection(SQL::COLLECTION)->isEmpty()) { + if ($dbForPlatform->getCollection(AuditAdapterSQL::COLLECTION)->isEmpty()) { $adapter = new AdapterDatabase($dbForPlatform); $audit = new Audit($adapter); $audit->setup(); From 5daacb7161d788eec3a372abd2f387bb49c06ff4 Mon Sep 17 00:00:00 2001 From: Chirag Aggarwal Date: Sat, 13 Dec 2025 21:36:44 +0530 Subject: [PATCH 061/220] Refactor Specs task for better code organization - Extract platform, auth counts, and keys into separate methods - Add getPlatforms(), getAuthCounts(), and getKeys() methods - Extract SDK platform logic into getSDKPlatformsForRouteSecurity() - Add PHPDoc comments with proper type hints - Move constructor to top of class for better readability --- app/config/sdks.php | 54 +-- app/config/services.php | 22 + app/config/specs/open-api3-1.8.x-client.json | 217 +++++++-- app/config/specs/open-api3-1.8.x-console.json | 400 ++++++++++++++-- app/config/specs/open-api3-1.8.x-server.json | 443 ++++++++++++++++-- app/config/specs/open-api3-latest-client.json | 217 +++++++-- .../specs/open-api3-latest-console.json | 400 ++++++++++++++-- app/config/specs/open-api3-latest-server.json | 443 ++++++++++++++++-- app/config/specs/swagger2-1.8.x-client.json | 217 +++++++-- app/config/specs/swagger2-1.8.x-console.json | 400 ++++++++++++++-- app/config/specs/swagger2-1.8.x-server.json | 443 ++++++++++++++++-- app/config/specs/swagger2-latest-client.json | 217 +++++++-- app/config/specs/swagger2-latest-console.json | 400 ++++++++++++++-- app/config/specs/swagger2-latest-server.json | 443 ++++++++++++++++-- app/controllers/api/account.php | 80 ++-- app/controllers/api/avatars.php | 16 +- app/controllers/api/graphql.php | 6 +- app/controllers/api/health.php | 44 +- app/controllers/api/locale.php | 16 +- app/controllers/api/storage.php | 26 +- app/controllers/api/teams.php | 26 +- app/controllers/api/users.php | 86 ++-- app/init/constants.php | 6 +- app/init/resources.php | 2 +- .../Account/MFA/Authenticators/Create.php | 4 +- .../Account/MFA/Authenticators/Delete.php | 4 +- .../Account/MFA/Authenticators/Update.php | 4 +- .../Http/Account/MFA/Challenges/Create.php | 5 +- .../Http/Account/MFA/Challenges/Update.php | 4 +- .../Http/Account/MFA/Factors/XList.php | 4 +- .../Http/Account/MFA/RecoveryCodes/Create.php | 4 +- .../Http/Account/MFA/RecoveryCodes/Get.php | 4 +- .../Http/Account/MFA/RecoveryCodes/Update.php | 4 +- .../Account/Http/Account/MFA/Update.php | 2 +- .../Collections/Attributes/Boolean/Create.php | 2 +- .../Collections/Attributes/Boolean/Update.php | 2 +- .../Attributes/Datetime/Create.php | 2 +- .../Attributes/Datetime/Update.php | 2 +- .../Collections/Attributes/Delete.php | 2 +- .../Collections/Attributes/Email/Create.php | 2 +- .../Collections/Attributes/Email/Update.php | 2 +- .../Collections/Attributes/Enum/Create.php | 2 +- .../Collections/Attributes/Enum/Update.php | 2 +- .../Collections/Attributes/Float/Create.php | 2 +- .../Collections/Attributes/Float/Update.php | 2 +- .../Databases/Collections/Attributes/Get.php | 2 +- .../Collections/Attributes/IP/Create.php | 2 +- .../Collections/Attributes/IP/Update.php | 2 +- .../Collections/Attributes/Integer/Create.php | 2 +- .../Collections/Attributes/Integer/Update.php | 2 +- .../Collections/Attributes/Line/Create.php | 2 +- .../Collections/Attributes/Line/Update.php | 2 +- .../Collections/Attributes/Point/Create.php | 2 +- .../Collections/Attributes/Point/Update.php | 2 +- .../Collections/Attributes/Polygon/Create.php | 2 +- .../Collections/Attributes/Polygon/Update.php | 2 +- .../Attributes/Relationship/Create.php | 2 +- .../Attributes/Relationship/Update.php | 2 +- .../Collections/Attributes/String/Create.php | 2 +- .../Collections/Attributes/String/Update.php | 2 +- .../Collections/Attributes/URL/Create.php | 2 +- .../Collections/Attributes/URL/Update.php | 2 +- .../Collections/Attributes/XList.php | 2 +- .../Http/Databases/Collections/Create.php | 2 +- .../Http/Databases/Collections/Delete.php | 2 +- .../Collections/Documents/Create.php | 2 +- .../Collections/Documents/Delete.php | 2 +- .../Databases/Collections/Documents/Get.php | 2 +- .../Collections/Documents/Update.php | 2 +- .../Collections/Documents/Upsert.php | 2 +- .../Databases/Collections/Documents/XList.php | 2 +- .../Http/Databases/Collections/Get.php | 2 +- .../Databases/Collections/Indexes/Create.php | 2 +- .../Databases/Collections/Indexes/Delete.php | 2 +- .../Databases/Collections/Indexes/Get.php | 2 +- .../Databases/Collections/Indexes/XList.php | 2 +- .../Http/Databases/Collections/Update.php | 2 +- .../Http/Databases/Collections/XList.php | 2 +- .../Databases/Http/Databases/Create.php | 2 +- .../Databases/Http/Databases/Delete.php | 2 +- .../Modules/Databases/Http/Databases/Get.php | 2 +- .../Http/Databases/Transactions/Create.php | 2 +- .../Http/Databases/Transactions/Delete.php | 2 +- .../Http/Databases/Transactions/Get.php | 2 +- .../Transactions/Operations/Create.php | 2 +- .../Http/Databases/Transactions/Update.php | 2 +- .../Http/Databases/Transactions/XList.php | 2 +- .../Databases/Http/Databases/Update.php | 2 +- .../Databases/Http/Databases/XList.php | 2 +- .../Databases/Http/TablesDB/Create.php | 2 +- .../Databases/Http/TablesDB/Delete.php | 2 +- .../Modules/Databases/Http/TablesDB/Get.php | 2 +- .../Tables/Columns/Boolean/Create.php | 2 +- .../Tables/Columns/Boolean/Update.php | 2 +- .../Tables/Columns/Datetime/Create.php | 2 +- .../Tables/Columns/Datetime/Update.php | 2 +- .../Http/TablesDB/Tables/Columns/Delete.php | 2 +- .../TablesDB/Tables/Columns/Email/Create.php | 2 +- .../TablesDB/Tables/Columns/Email/Update.php | 2 +- .../TablesDB/Tables/Columns/Enum/Create.php | 2 +- .../TablesDB/Tables/Columns/Enum/Update.php | 2 +- .../TablesDB/Tables/Columns/Float/Create.php | 2 +- .../TablesDB/Tables/Columns/Float/Update.php | 2 +- .../Http/TablesDB/Tables/Columns/Get.php | 2 +- .../TablesDB/Tables/Columns/IP/Create.php | 2 +- .../TablesDB/Tables/Columns/IP/Update.php | 2 +- .../Tables/Columns/Integer/Create.php | 2 +- .../Tables/Columns/Integer/Update.php | 2 +- .../TablesDB/Tables/Columns/Line/Create.php | 2 +- .../TablesDB/Tables/Columns/Line/Update.php | 2 +- .../TablesDB/Tables/Columns/Point/Create.php | 2 +- .../TablesDB/Tables/Columns/Point/Update.php | 2 +- .../Tables/Columns/Polygon/Create.php | 2 +- .../Tables/Columns/Polygon/Update.php | 2 +- .../Tables/Columns/Relationship/Create.php | 2 +- .../Tables/Columns/Relationship/Update.php | 2 +- .../TablesDB/Tables/Columns/String/Create.php | 2 +- .../TablesDB/Tables/Columns/String/Update.php | 2 +- .../TablesDB/Tables/Columns/URL/Create.php | 2 +- .../TablesDB/Tables/Columns/URL/Update.php | 2 +- .../Http/TablesDB/Tables/Columns/XList.php | 2 +- .../Databases/Http/TablesDB/Tables/Create.php | 2 +- .../Databases/Http/TablesDB/Tables/Delete.php | 2 +- .../Databases/Http/TablesDB/Tables/Get.php | 2 +- .../Http/TablesDB/Tables/Indexes/Create.php | 2 +- .../Http/TablesDB/Tables/Indexes/Delete.php | 2 +- .../Http/TablesDB/Tables/Indexes/Get.php | 2 +- .../Http/TablesDB/Tables/Indexes/XList.php | 2 +- .../Http/TablesDB/Tables/Rows/Create.php | 2 +- .../Http/TablesDB/Tables/Rows/Delete.php | 2 +- .../Http/TablesDB/Tables/Rows/Get.php | 2 +- .../Http/TablesDB/Tables/Rows/Update.php | 2 +- .../Http/TablesDB/Tables/Rows/Upsert.php | 2 +- .../Http/TablesDB/Tables/Rows/XList.php | 2 +- .../Databases/Http/TablesDB/Tables/Update.php | 2 +- .../Databases/Http/TablesDB/Tables/XList.php | 2 +- .../Http/TablesDB/Transactions/Create.php | 2 +- .../Http/TablesDB/Transactions/Delete.php | 2 +- .../Http/TablesDB/Transactions/Get.php | 2 +- .../Transactions/Operations/Create.php | 2 +- .../Http/TablesDB/Transactions/Update.php | 2 +- .../Http/TablesDB/Transactions/XList.php | 2 +- .../Databases/Http/TablesDB/Update.php | 2 +- .../Modules/Databases/Http/TablesDB/XList.php | 2 +- .../Functions/Http/Deployments/Create.php | 2 +- .../Functions/Http/Deployments/Delete.php | 2 +- .../Http/Deployments/Download/Get.php | 2 +- .../Http/Deployments/Duplicate/Create.php | 2 +- .../Functions/Http/Deployments/Get.php | 2 +- .../Http/Deployments/Status/Update.php | 2 +- .../Http/Deployments/Template/Create.php | 2 +- .../Functions/Http/Deployments/Vcs/Create.php | 2 +- .../Functions/Http/Deployments/XList.php | 2 +- .../Functions/Http/Executions/Create.php | 2 +- .../Functions/Http/Executions/Delete.php | 2 +- .../Modules/Functions/Http/Executions/Get.php | 2 +- .../Functions/Http/Executions/XList.php | 2 +- .../Functions/Http/Functions/Create.php | 2 +- .../Functions/Http/Functions/Delete.php | 2 +- .../Http/Functions/Deployment/Update.php | 2 +- .../Modules/Functions/Http/Functions/Get.php | 2 +- .../Functions/Http/Functions/Update.php | 2 +- .../Functions/Http/Functions/XList.php | 2 +- .../Modules/Functions/Http/Runtimes/XList.php | 2 +- .../Functions/Http/Variables/Create.php | 2 +- .../Functions/Http/Variables/Delete.php | 2 +- .../Modules/Functions/Http/Variables/Get.php | 2 +- .../Functions/Http/Variables/Update.php | 2 +- .../Functions/Http/Variables/XList.php | 2 +- .../Modules/Sites/Http/Deployments/Create.php | 2 +- .../Modules/Sites/Http/Deployments/Delete.php | 2 +- .../Sites/Http/Deployments/Download/Get.php | 2 +- .../Http/Deployments/Duplicate/Create.php | 2 +- .../Modules/Sites/Http/Deployments/Get.php | 2 +- .../Sites/Http/Deployments/Status/Update.php | 2 +- .../Http/Deployments/Template/Create.php | 2 +- .../Sites/Http/Deployments/Vcs/Create.php | 2 +- .../Modules/Sites/Http/Deployments/XList.php | 2 +- .../Modules/Sites/Http/Frameworks/XList.php | 2 +- .../Modules/Sites/Http/Logs/Delete.php | 2 +- .../Platform/Modules/Sites/Http/Logs/Get.php | 2 +- .../Modules/Sites/Http/Logs/XList.php | 2 +- .../Modules/Sites/Http/Sites/Create.php | 2 +- .../Modules/Sites/Http/Sites/Delete.php | 2 +- .../Sites/Http/Sites/Deployment/Update.php | 2 +- .../Platform/Modules/Sites/Http/Sites/Get.php | 2 +- .../Modules/Sites/Http/Sites/Update.php | 2 +- .../Modules/Sites/Http/Sites/XList.php | 2 +- .../Modules/Sites/Http/Variables/Create.php | 2 +- .../Modules/Sites/Http/Variables/Delete.php | 2 +- .../Modules/Sites/Http/Variables/Get.php | 2 +- .../Modules/Sites/Http/Variables/Update.php | 2 +- .../Modules/Sites/Http/Variables/XList.php | 2 +- src/Appwrite/Platform/Tasks/SDKs.php | 4 +- src/Appwrite/Platform/Tasks/Specs.php | 143 ++++-- src/Appwrite/SDK/Specification/Format.php | 29 ++ .../SDK/Specification/Format/OpenAPI3.php | 46 +- .../SDK/Specification/Format/Swagger2.php | 46 +- 198 files changed, 4242 insertions(+), 1007 deletions(-) diff --git a/app/config/sdks.php b/app/config/sdks.php index b8b66efa39..c1cd56784c 100644 --- a/app/config/sdks.php +++ b/app/config/sdks.php @@ -1,8 +1,8 @@ [ - 'key' => APP_PLATFORM_CLIENT, + APP_SDK_PLATFORM_CLIENT => [ + 'key' => APP_SDK_PLATFORM_CLIENT, 'name' => 'Client', 'description' => 'Client libraries for integrating with Appwrite to build client-based applications and websites. Read the [getting started for web](https://appwrite.io/docs/getting-started-for-web) or [getting started for Flutter](https://appwrite.io/docs/getting-started-for-flutter) tutorials to start building your first application.', 'enabled' => true, @@ -18,7 +18,7 @@ return [ 'beta' => false, 'dev' => false, 'hidden' => false, - 'family' => APP_PLATFORM_CLIENT, + 'family' => APP_SDK_PLATFORM_CLIENT, 'prism' => 'javascript', 'source' => \realpath(__DIR__ . '/../sdks/client-web'), 'gitUrl' => 'git@github.com:appwrite/sdk-for-web.git', @@ -67,7 +67,7 @@ return [ 'beta' => false, 'dev' => false, 'hidden' => false, - 'family' => APP_PLATFORM_CLIENT, + 'family' => APP_SDK_PLATFORM_CLIENT, 'prism' => 'dart', 'source' => \realpath(__DIR__ . '/../sdks/client-flutter'), 'gitUrl' => 'git@github.com:appwrite/sdk-for-flutter.git', @@ -86,7 +86,7 @@ return [ 'beta' => false, 'dev' => false, 'hidden' => false, - 'family' => APP_PLATFORM_CLIENT, + 'family' => APP_SDK_PLATFORM_CLIENT, 'prism' => 'swift', 'source' => \realpath(__DIR__ . '/../sdks/client-apple'), 'gitUrl' => 'git@github.com:appwrite/sdk-for-apple.git', @@ -104,7 +104,7 @@ return [ 'beta' => false, 'dev' => false, 'hidden' => false, - 'family' => APP_PLATFORM_CLIENT, + 'family' => APP_SDK_PLATFORM_CLIENT, 'prism' => '', 'source' => false, 'gitUrl' => 'git@github.com:appwrite/sdk-for-objective-c.git', @@ -123,7 +123,7 @@ return [ 'beta' => false, 'dev' => false, 'hidden' => false, - 'family' => APP_PLATFORM_CLIENT, + 'family' => APP_SDK_PLATFORM_CLIENT, 'prism' => 'kotlin', 'source' => \realpath(__DIR__ . '/../sdks/client-android'), 'gitUrl' => 'git@github.com:appwrite/sdk-for-android.git', @@ -146,7 +146,7 @@ return [ 'beta' => true, 'dev' => false, 'hidden' => false, - 'family' => APP_PLATFORM_CLIENT, + 'family' => APP_SDK_PLATFORM_CLIENT, 'prism' => 'javascript', 'source' => \realpath(__DIR__ . '/../sdks/client-react-native'), 'gitUrl' => 'git@github.com:appwrite/sdk-for-react-native.git', @@ -165,7 +165,7 @@ return [ 'beta' => false, 'dev' => false, 'hidden' => true, - 'family' => APP_PLATFORM_CLIENT, + 'family' => APP_SDK_PLATFORM_CLIENT, 'prism' => 'graphql', 'source' => \realpath(__DIR__ . '/../sdks/client-graphql'), 'gitUrl' => '', @@ -185,7 +185,7 @@ return [ 'beta' => false, 'dev' => false, 'hidden' => true, - 'family' => APP_PLATFORM_CLIENT, + 'family' => APP_SDK_PLATFORM_CLIENT, 'prism' => 'http', 'source' => \realpath(__DIR__ . '/../sdks/client-rest'), 'gitUrl' => '', @@ -198,8 +198,8 @@ return [ ], ], - APP_PLATFORM_CONSOLE => [ - 'key' => APP_PLATFORM_CONSOLE, + APP_SDK_PLATFORM_CONSOLE => [ + 'key' => APP_SDK_PLATFORM_CONSOLE, 'name' => 'Console', 'enabled' => false, 'beta' => false, @@ -214,7 +214,7 @@ return [ 'beta' => false, 'dev' => false, 'hidden' => true, - 'family' => APP_PLATFORM_CONSOLE, + 'family' => APP_SDK_PLATFORM_CONSOLE, 'prism' => 'javascript', 'source' => \realpath(__DIR__ . '/../sdks/console-web'), 'gitUrl' => '', @@ -233,7 +233,7 @@ return [ 'beta' => true, 'dev' => false, 'hidden' => false, - 'family' => APP_PLATFORM_CONSOLE, + 'family' => APP_SDK_PLATFORM_CONSOLE, 'prism' => 'bash', 'source' => \realpath(__DIR__ . '/../sdks/console-cli'), 'gitUrl' => 'git@github.com:appwrite/sdk-for-cli.git', @@ -252,8 +252,8 @@ return [ ], ], - APP_PLATFORM_SERVER => [ - 'key' => APP_PLATFORM_SERVER, + APP_SDK_PLATFORM_SERVER => [ + 'key' => APP_SDK_PLATFORM_SERVER, 'name' => 'Server', 'description' => 'Libraries for integrating with Appwrite to build server side integrations. Read the [getting started for server](https://appwrite.io/docs/getting-started-for-server) tutorial to start building your first server integration.', 'enabled' => true, @@ -269,7 +269,7 @@ return [ 'beta' => false, 'dev' => false, 'hidden' => false, - 'family' => APP_PLATFORM_SERVER, + 'family' => APP_SDK_PLATFORM_SERVER, 'prism' => 'javascript', 'source' => \realpath(__DIR__ . '/../sdks/server-nodejs'), 'gitUrl' => 'git@github.com:appwrite/sdk-for-node.git', @@ -288,7 +288,7 @@ return [ 'beta' => false, 'dev' => false, 'hidden' => false, - 'family' => APP_PLATFORM_SERVER, + 'family' => APP_SDK_PLATFORM_SERVER, 'prism' => 'php', 'source' => \realpath(__DIR__ . '/../sdks/server-php'), 'gitUrl' => 'git@github.com:appwrite/sdk-for-php.git', @@ -307,7 +307,7 @@ return [ 'beta' => false, 'dev' => false, 'hidden' => false, - 'family' => APP_PLATFORM_SERVER, + 'family' => APP_SDK_PLATFORM_SERVER, 'prism' => 'python', 'source' => \realpath(__DIR__ . '/../sdks/server-python'), 'gitUrl' => 'git@github.com:appwrite/sdk-for-python.git', @@ -326,7 +326,7 @@ return [ 'beta' => false, 'dev' => false, 'hidden' => false, - 'family' => APP_PLATFORM_SERVER, + 'family' => APP_SDK_PLATFORM_SERVER, 'prism' => 'ruby', 'source' => \realpath(__DIR__ . '/../sdks/server-ruby'), 'gitUrl' => 'git@github.com:appwrite/sdk-for-ruby.git', @@ -345,7 +345,7 @@ return [ 'beta' => true, 'dev' => false, 'hidden' => false, - 'family' => APP_PLATFORM_SERVER, + 'family' => APP_SDK_PLATFORM_SERVER, 'prism' => 'go', 'source' => \realpath(__DIR__ . '/../sdks/server-go'), 'gitUrl' => 'git@github.com:appwrite/sdk-for-go.git', @@ -364,7 +364,7 @@ return [ 'beta' => true, 'dev' => false, 'hidden' => false, - 'family' => APP_PLATFORM_SERVER, + 'family' => APP_SDK_PLATFORM_SERVER, 'prism' => 'csharp', 'source' => \realpath(__DIR__ . '/../sdks/server-dotnet'), 'gitUrl' => 'git@github.com:appwrite/sdk-for-dotnet.git', @@ -383,7 +383,7 @@ return [ 'beta' => false, 'dev' => false, 'hidden' => false, - 'family' => APP_PLATFORM_SERVER, + 'family' => APP_SDK_PLATFORM_SERVER, 'prism' => 'dart', 'source' => \realpath(__DIR__ . '/../sdks/server-dart'), 'gitUrl' => 'git@github.com:appwrite/sdk-for-dart.git', @@ -402,7 +402,7 @@ return [ 'beta' => false, 'dev' => false, 'hidden' => false, - 'family' => APP_PLATFORM_SERVER, + 'family' => APP_SDK_PLATFORM_SERVER, 'prism' => 'kotlin', 'source' => \realpath(__DIR__ . '/../sdks/server-kotlin'), 'gitUrl' => 'git@github.com:appwrite/sdk-for-kotlin.git', @@ -425,7 +425,7 @@ return [ 'beta' => false, 'dev' => false, 'hidden' => false, - 'family' => APP_PLATFORM_SERVER, + 'family' => APP_SDK_PLATFORM_SERVER, 'prism' => 'swift', 'source' => \realpath(__DIR__ . '/../sdks/server-swift'), 'gitUrl' => 'git@github.com:appwrite/sdk-for-swift.git', @@ -444,7 +444,7 @@ return [ 'beta' => false, 'dev' => false, 'hidden' => true, - 'family' => APP_PLATFORM_SERVER, + 'family' => APP_SDK_PLATFORM_SERVER, 'prism' => 'graphql', 'source' => \realpath(__DIR__ . '/../sdks/server-graphql'), 'gitUrl' => '', @@ -464,7 +464,7 @@ return [ 'beta' => false, 'dev' => false, 'hidden' => true, - 'family' => APP_PLATFORM_SERVER, + 'family' => APP_SDK_PLATFORM_SERVER, 'prism' => 'http', 'source' => \realpath(__DIR__ . '/../sdks/server-rest'), 'gitUrl' => '', diff --git a/app/config/services.php b/app/config/services.php index 5f8651e59f..840ee294e9 100644 --- a/app/config/services.php +++ b/app/config/services.php @@ -13,6 +13,7 @@ return [ 'tests' => false, 'optional' => false, 'icon' => '', + 'platforms' => ['client', 'server', 'console'], ], 'web/console' => [ 'key' => 'web/console', @@ -26,6 +27,7 @@ return [ 'tests' => false, 'optional' => false, 'icon' => '', + 'platforms' => ['client', 'server', 'console'], ], 'account' => [ 'key' => 'account', @@ -39,6 +41,7 @@ return [ 'tests' => false, 'optional' => true, 'icon' => '/images/services/account.png', + 'platforms' => ['client', 'server', 'console'], ], 'avatars' => [ 'key' => 'avatars', @@ -52,6 +55,7 @@ return [ 'tests' => false, 'optional' => true, 'icon' => '/images/services/avatars.png', + 'platforms' => ['client', 'server', 'console'], ], 'databases' => [ 'key' => 'databases', @@ -65,6 +69,7 @@ return [ 'tests' => false, 'optional' => true, 'icon' => '/images/services/databases.png', + 'platforms' => ['client', 'server', 'console'], ], 'tablesdb' => [ 'key' => 'tablesdb', @@ -78,6 +83,7 @@ return [ 'tests' => false, 'optional' => true, 'icon' => '/images/services/databases.png', + 'platforms' => ['client', 'server', 'console'], ], 'locale' => [ 'key' => 'locale', @@ -91,6 +97,7 @@ return [ 'tests' => false, 'optional' => true, 'icon' => '/images/services/locale.png', + 'platforms' => ['client', 'server', 'console'], ], 'health' => [ 'key' => 'health', @@ -104,6 +111,7 @@ return [ 'tests' => false, 'optional' => true, 'icon' => '/images/services/health.png', + 'platforms' => ['client', 'server', 'console'], ], 'projects' => [ 'key' => 'projects', @@ -117,6 +125,7 @@ return [ 'tests' => false, 'optional' => false, 'icon' => '', + 'platforms' => ['client', 'server', 'console'], ], 'project' => [ 'key' => 'project', @@ -130,6 +139,7 @@ return [ 'tests' => false, 'optional' => false, 'icon' => '', + 'platforms' => ['client', 'server', 'console'], ], 'storage' => [ 'key' => 'storage', @@ -143,6 +153,7 @@ return [ 'tests' => false, 'optional' => true, 'icon' => '/images/services/storage.png', + 'platforms' => ['client', 'server', 'console'], ], 'teams' => [ 'key' => 'teams', @@ -156,6 +167,7 @@ return [ 'tests' => false, 'optional' => true, 'icon' => '/images/services/teams.png', + 'platforms' => ['client', 'server', 'console'], ], 'users' => [ 'key' => 'users', @@ -169,6 +181,7 @@ return [ 'tests' => false, 'optional' => true, 'icon' => '/images/services/users.png', + 'platforms' => ['client', 'server', 'console'], ], 'vcs' => [ 'key' => 'vcs', @@ -182,6 +195,7 @@ return [ 'tests' => false, 'optional' => false, 'icon' => '', + 'platforms' => ['client', 'server', 'console'], ], 'sites' => [ 'key' => 'sites', @@ -195,6 +209,7 @@ return [ 'tests' => false, 'optional' => true, 'icon' => '/images/services/sites.png', + 'platforms' => ['client', 'server', 'console'], ], 'functions' => [ 'key' => 'functions', @@ -208,6 +223,7 @@ return [ 'tests' => false, 'optional' => true, 'icon' => '/images/services/functions.png', + 'platforms' => ['client', 'server', 'console'], ], 'proxy' => [ 'key' => 'proxy', @@ -221,6 +237,7 @@ return [ 'tests' => false, 'optional' => false, 'icon' => '/images/services/proxy.png', + 'platforms' => ['client', 'server', 'console'], ], 'mock' => [ 'key' => 'mock', @@ -234,6 +251,7 @@ return [ 'tests' => true, 'optional' => false, 'icon' => '', + 'platforms' => ['client', 'server', 'console'], ], 'graphql' => [ 'key' => 'graphql', @@ -247,6 +265,7 @@ return [ 'tests' => true, 'optional' => true, 'icon' => '/images/services/graphql.png', + 'platforms' => ['client', 'server', 'console'], ], 'console' => [ 'key' => 'console', @@ -260,6 +279,7 @@ return [ 'tests' => false, 'optional' => false, 'icon' => '', + 'platforms' => ['client', 'server', 'console'], ], 'migrations' => [ 'key' => 'migrations', @@ -273,6 +293,7 @@ return [ 'tests' => true, 'optional' => false, 'icon' => '/images/services/migrations.png', + 'platforms' => ['client', 'server', 'console'], ], 'messaging' => [ 'key' => 'messaging', @@ -286,5 +307,6 @@ return [ 'tests' => true, 'optional' => true, 'icon' => '/images/services/messaging.png', + 'platforms' => ['client', 'server', 'console'], ] ]; diff --git a/app/config/specs/open-api3-1.8.x-client.json b/app/config/specs/open-api3-1.8.x-client.json index fe3f2f50ad..127eab321a 100644 --- a/app/config/specs/open-api3-1.8.x-client.json +++ b/app/config/specs/open-api3-1.8.x-client.json @@ -58,6 +58,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -108,8 +109,9 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -119,7 +121,9 @@ }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "requestBody": { @@ -194,6 +198,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -271,6 +276,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -342,6 +348,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -406,8 +413,9 @@ "rate-key": "url:{url},userId:{userId}", "scope": "account", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -417,7 +425,9 @@ }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ] } @@ -456,6 +466,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -534,6 +545,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -605,6 +617,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -728,6 +741,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -867,6 +881,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -990,8 +1005,9 @@ "rate-key": "url:{url},userId:{userId}", "scope": "account", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": false, @@ -1057,7 +1073,9 @@ }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "requestBody": { @@ -1121,6 +1139,7 @@ "rate-key": "url:{url},challengeId:{param-challengeId}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1258,6 +1277,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1358,6 +1378,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1456,6 +1477,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1554,6 +1576,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1654,6 +1677,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1725,6 +1749,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1801,6 +1826,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1878,6 +1904,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1928,6 +1955,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2002,6 +2030,7 @@ ], "scope": "sessions.write", "platforms": [ + "console", "client", "server" ], @@ -2077,6 +2106,7 @@ "rate-key": "url:{url},userId:{param-userId}", "scope": "sessions.write", "platforms": [ + "console", "client", "server" ], @@ -2160,6 +2190,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2203,6 +2234,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2255,8 +2287,9 @@ "rate-key": "ip:{ip}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2266,7 +2299,9 @@ }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ] } @@ -2305,8 +2340,9 @@ "rate-key": "url:{url},email:{param-email}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2316,7 +2352,9 @@ }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "requestBody": { @@ -2380,8 +2418,9 @@ "rate-key": "ip:{ip},userId:{param-userId}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2395,7 +2434,9 @@ }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "requestBody": { @@ -2452,8 +2493,9 @@ "rate-key": "ip:{ip}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2463,7 +2505,9 @@ }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "parameters": [ @@ -2595,8 +2639,9 @@ "rate-key": "ip:{ip},userId:{param-userId}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2610,7 +2655,9 @@ }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "requestBody": { @@ -2674,8 +2721,9 @@ "rate-key": "ip:{ip},userId:{param-userId}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2685,7 +2733,9 @@ }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "requestBody": { @@ -2749,6 +2799,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2811,6 +2862,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2866,6 +2918,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2930,6 +2983,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2982,6 +3036,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "targets.write", "platforms": [ + "console", "client" ], "packaging": false, @@ -3062,6 +3117,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "targets.write", "platforms": [ + "console", "client" ], "packaging": false, @@ -3134,6 +3190,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "targets.write", "platforms": [ + "console", "client" ], "packaging": false, @@ -3199,8 +3256,9 @@ ], "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -3210,7 +3268,9 @@ }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "requestBody": { @@ -3282,8 +3342,9 @@ ], "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -3293,7 +3354,9 @@ }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "requestBody": { @@ -3360,8 +3423,9 @@ "rate-key": "ip:{ip}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -3371,7 +3435,9 @@ }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "parameters": [ @@ -3506,8 +3572,9 @@ ], "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -3517,7 +3584,9 @@ }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "requestBody": { @@ -3581,6 +3650,7 @@ "rate-key": "url:{url},userId:{userId}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -3702,6 +3772,7 @@ "rate-key": "url:{url},userId:{param-userId}", "scope": "public", "platforms": [ + "console", "client", "server" ], @@ -3838,6 +3909,7 @@ ], "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -3888,6 +3960,7 @@ "rate-key": "userId:{param-userId}", "scope": "public", "platforms": [ + "console", "client", "server" ], @@ -3958,6 +4031,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server", "server" @@ -4085,6 +4159,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server", "server" @@ -4218,6 +4293,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server", "server" @@ -4277,6 +4353,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server", "server" @@ -4766,6 +4843,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server", "server" @@ -4849,6 +4927,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server", "server" @@ -4942,6 +5021,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server", "server" @@ -5035,6 +5115,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server", "server" @@ -5787,6 +5868,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "rows.read", "platforms": [ + "console", "server", "client", "server" @@ -5853,6 +5935,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.write", "platforms": [ + "console", "server", "client", "server" @@ -5922,6 +6005,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "rows.read", "platforms": [ + "console", "server", "client", "server" @@ -5985,6 +6069,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.write", "platforms": [ + "console", "server", "client", "server" @@ -6062,6 +6147,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.write", "platforms": [ + "console", "server", "client", "server" @@ -6127,6 +6213,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.write", "platforms": [ + "console", "server", "client", "server" @@ -6211,6 +6298,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.read", "platforms": [ + "console", "client", "server", "server" @@ -6322,6 +6410,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "documents.write", "platforms": [ + "console", "client", "server", "server" @@ -6482,6 +6571,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.read", "platforms": [ + "console", "client", "server", "server" @@ -6592,6 +6682,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "documents.write", "platforms": [ + "console", "client", "server", "server" @@ -6750,6 +6841,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "documents.write", "platforms": [ + "console", "client", "server", "server" @@ -6861,6 +6953,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "documents.write", "platforms": [ + "console", "client", "server", "server" @@ -7221,6 +7314,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "execution.read", "platforms": [ + "console", "client", "server", "server" @@ -7308,6 +7402,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "execution.write", "platforms": [ + "console", "client", "server", "server" @@ -7426,6 +7521,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "execution.read", "platforms": [ + "console", "client", "server", "server" @@ -7501,6 +7597,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "graphql", "platforms": [ + "console", "server", "client", "server" @@ -7554,6 +7651,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "graphql", "platforms": [ + "console", "server", "client", "server" @@ -7607,6 +7705,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server", "server" @@ -7660,6 +7759,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server", "server" @@ -7713,6 +7813,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server", "server" @@ -7766,6 +7867,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server", "server" @@ -7819,6 +7921,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server", "server" @@ -7872,6 +7975,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server", "server" @@ -7925,6 +8029,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server", "server" @@ -7978,6 +8083,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server", "server" @@ -8191,6 +8297,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server", "server" @@ -8289,6 +8396,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId},chunkId:{chunkId}", "scope": "files.write", "platforms": [ + "console", "client", "server", "server" @@ -8389,6 +8497,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server", "server" @@ -8462,6 +8571,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "files.write", "platforms": [ + "console", "client", "server", "server" @@ -8554,6 +8664,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "files.write", "platforms": [ + "console", "client", "server", "server" @@ -8622,6 +8733,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server", "server" @@ -8701,6 +8813,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server", "server" @@ -8930,6 +9043,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server", "server" @@ -9019,6 +9133,7 @@ "rows.read" ], "platforms": [ + "console", "server", "client", "server" @@ -9088,6 +9203,7 @@ "rows.write" ], "platforms": [ + "console", "server", "client", "server" @@ -9160,6 +9276,7 @@ "rows.read" ], "platforms": [ + "console", "server", "client", "server" @@ -9226,6 +9343,7 @@ "rows.write" ], "platforms": [ + "console", "server", "client", "server" @@ -9306,6 +9424,7 @@ "rows.write" ], "platforms": [ + "console", "server", "client", "server" @@ -9374,6 +9493,7 @@ "rows.write" ], "platforms": [ + "console", "server", "client", "server" @@ -9461,6 +9581,7 @@ "documents.read" ], "platforms": [ + "console", "client", "server", "server" @@ -9571,6 +9692,7 @@ "documents.write" ], "platforms": [ + "console", "client", "server", "server" @@ -9726,6 +9848,7 @@ "documents.read" ], "platforms": [ + "console", "client", "server", "server" @@ -9835,6 +9958,7 @@ "documents.write" ], "platforms": [ + "console", "client", "server", "server" @@ -9984,6 +10108,7 @@ "documents.write" ], "platforms": [ + "console", "client", "server", "server" @@ -10094,6 +10219,7 @@ "documents.write" ], "platforms": [ + "console", "client", "server", "server" @@ -10448,6 +10574,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server", "server" @@ -10536,6 +10663,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server", "server" @@ -10622,6 +10750,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server", "server" @@ -10685,6 +10814,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server", "server" @@ -10760,6 +10890,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server", "server" @@ -10825,6 +10956,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server", "server" @@ -10923,6 +11055,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server", "server" @@ -11042,6 +11175,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server", "server" @@ -11115,6 +11249,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server", "server" @@ -11210,6 +11345,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server", "server" @@ -11285,6 +11421,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "public", "platforms": [ + "console", "client", "server" ], @@ -11384,6 +11521,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server" ], @@ -11446,6 +11584,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server" ], diff --git a/app/config/specs/open-api3-1.8.x-console.json b/app/config/specs/open-api3-1.8.x-console.json index d436913e90..e639490175 100644 --- a/app/config/specs/open-api3-1.8.x-console.json +++ b/app/config/specs/open-api3-1.8.x-console.json @@ -58,6 +58,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -107,8 +108,9 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -118,7 +120,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "JWT": [] } ], "requestBody": { @@ -233,6 +236,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -309,6 +313,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -379,6 +384,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -442,8 +448,9 @@ "rate-key": "url:{url},userId:{userId}", "scope": "account", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -453,7 +460,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "JWT": [] } ] } @@ -492,6 +500,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -569,6 +578,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -639,6 +649,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -761,6 +772,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -899,6 +911,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1021,8 +1034,9 @@ "rate-key": "url:{url},userId:{userId}", "scope": "account", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": false, @@ -1088,7 +1102,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "JWT": [] } ], "requestBody": { @@ -1152,6 +1167,7 @@ "rate-key": "url:{url},challengeId:{param-challengeId}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1288,6 +1304,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1387,6 +1404,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1484,6 +1502,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1581,6 +1600,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1680,6 +1700,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1750,6 +1771,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1825,6 +1847,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1901,6 +1924,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1950,6 +1974,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2023,6 +2048,7 @@ ], "scope": "sessions.write", "platforms": [ + "console", "client", "server" ], @@ -2097,6 +2123,7 @@ "rate-key": "url:{url},userId:{param-userId}", "scope": "sessions.write", "platforms": [ + "console", "client", "server" ], @@ -2179,6 +2206,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2221,6 +2249,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2272,8 +2301,9 @@ "rate-key": "ip:{ip}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2283,7 +2313,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "JWT": [] } ] } @@ -2322,8 +2353,9 @@ "rate-key": "url:{url},email:{param-email}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2333,7 +2365,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "JWT": [] } ], "requestBody": { @@ -2397,8 +2430,9 @@ "rate-key": "ip:{ip},userId:{param-userId}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2412,7 +2446,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "JWT": [] } ], "requestBody": { @@ -2469,8 +2504,9 @@ "rate-key": "ip:{ip}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2480,7 +2516,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "JWT": [] } ], "parameters": [ @@ -2612,8 +2649,9 @@ "rate-key": "ip:{ip},userId:{param-userId}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2627,7 +2665,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "JWT": [] } ], "requestBody": { @@ -2691,8 +2730,9 @@ "rate-key": "ip:{ip},userId:{param-userId}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2702,7 +2742,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "JWT": [] } ], "requestBody": { @@ -2766,6 +2807,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2827,6 +2869,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2881,6 +2924,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2944,6 +2988,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2995,6 +3040,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "targets.write", "platforms": [ + "console", "client" ], "packaging": false, @@ -3074,6 +3120,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "targets.write", "platforms": [ + "console", "client" ], "packaging": false, @@ -3145,6 +3192,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "targets.write", "platforms": [ + "console", "client" ], "packaging": false, @@ -3209,8 +3257,9 @@ ], "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -3220,7 +3269,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "JWT": [] } ], "requestBody": { @@ -3292,8 +3342,9 @@ ], "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -3303,7 +3354,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "JWT": [] } ], "requestBody": { @@ -3370,8 +3422,9 @@ "rate-key": "ip:{ip}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -3381,7 +3434,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "JWT": [] } ], "parameters": [ @@ -3516,8 +3570,9 @@ ], "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -3527,7 +3582,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "JWT": [] } ], "requestBody": { @@ -3591,6 +3647,7 @@ "rate-key": "url:{url},userId:{userId}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -3711,6 +3768,7 @@ "rate-key": "url:{url},userId:{param-userId}", "scope": "public", "platforms": [ + "console", "client", "server" ], @@ -3846,6 +3904,7 @@ ], "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -3895,6 +3954,7 @@ "rate-key": "userId:{param-userId}", "scope": "public", "platforms": [ + "console", "client", "server" ], @@ -3964,6 +4024,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server", "server" @@ -4091,6 +4152,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server", "server" @@ -4224,6 +4286,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server", "server" @@ -4283,6 +4346,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server", "server" @@ -4772,6 +4836,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server", "server" @@ -4855,6 +4920,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server", "server" @@ -4948,6 +5014,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server", "server" @@ -5041,6 +5108,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server", "server" @@ -5972,6 +6040,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -6090,6 +6159,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -6206,6 +6276,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "rows.read", "platforms": [ + "console", "server", "client", "server" @@ -6272,6 +6343,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.write", "platforms": [ + "console", "server", "client", "server" @@ -6341,6 +6413,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "rows.read", "platforms": [ + "console", "server", "client", "server" @@ -6404,6 +6477,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.write", "platforms": [ + "console", "server", "client", "server" @@ -6481,6 +6555,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.write", "platforms": [ + "console", "server", "client", "server" @@ -6546,6 +6621,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.write", "platforms": [ + "console", "server", "client", "server" @@ -6734,6 +6810,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -6827,6 +6904,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -6940,6 +7018,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7034,6 +7113,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -7133,6 +7213,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7259,6 +7340,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -7333,6 +7415,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7438,6 +7521,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7514,6 +7598,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -7614,6 +7699,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7726,6 +7812,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7843,6 +7930,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7955,6 +8043,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8072,6 +8161,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8184,6 +8274,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8301,6 +8392,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8422,6 +8514,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8548,6 +8641,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8672,6 +8766,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8801,6 +8896,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8925,6 +9021,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9054,6 +9151,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9166,6 +9264,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9283,6 +9382,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9397,6 +9497,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9520,6 +9621,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9634,6 +9736,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9757,6 +9860,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9871,6 +9975,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9994,6 +10099,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -10132,6 +10238,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -10255,6 +10362,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -10378,6 +10486,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -10490,6 +10599,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -10638,6 +10748,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -10714,6 +10825,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -10799,6 +10911,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -10914,6 +11027,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.read", "platforms": [ + "console", "client", "server", "server" @@ -11025,6 +11139,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "documents.write", "platforms": [ + "console", "client", "server", "server" @@ -11559,6 +11674,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.read", "platforms": [ + "console", "client", "server", "server" @@ -11669,6 +11785,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "documents.write", "platforms": [ + "console", "client", "server", "server" @@ -11827,6 +11944,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "documents.write", "platforms": [ + "console", "client", "server", "server" @@ -11938,6 +12056,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "documents.write", "platforms": [ + "console", "client", "server", "server" @@ -12396,6 +12515,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -12494,6 +12614,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -12634,6 +12755,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -12710,6 +12832,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -13205,6 +13328,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -13290,6 +13414,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -13585,6 +13710,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "public", "platforms": [ + "console", "server" ], "packaging": false, @@ -14013,6 +14139,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -14073,6 +14200,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -14365,6 +14493,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -14427,6 +14556,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -14508,6 +14638,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -14603,6 +14734,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": true, @@ -14702,6 +14834,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -14788,6 +14921,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -14905,6 +15039,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -15003,6 +15138,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15066,6 +15202,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -15131,6 +15268,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server", "server" ], @@ -15222,6 +15360,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -15294,6 +15433,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "execution.read", "platforms": [ + "console", "client", "server", "server" @@ -15381,6 +15521,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "execution.write", "platforms": [ + "console", "client", "server", "server" @@ -15499,6 +15640,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "execution.read", "platforms": [ + "console", "client", "server", "server" @@ -15565,6 +15707,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "execution.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -15720,6 +15863,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15780,6 +15924,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -15872,6 +16017,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15942,6 +16088,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -16036,6 +16183,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -16108,6 +16256,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "graphql", "platforms": [ + "console", "server", "client", "server" @@ -16161,6 +16310,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "graphql", "platforms": [ + "console", "server", "client", "server" @@ -16214,6 +16364,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16264,6 +16415,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16314,6 +16466,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16364,6 +16517,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16425,6 +16579,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16475,6 +16630,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16525,6 +16681,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16588,6 +16745,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16651,6 +16809,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16725,6 +16884,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16788,6 +16948,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16877,6 +17038,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16940,6 +17102,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -17003,6 +17166,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -17066,6 +17230,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -17129,6 +17294,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -17192,6 +17358,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -17255,6 +17422,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -17318,6 +17486,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -17381,6 +17550,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -17431,6 +17601,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -17481,6 +17652,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -17531,6 +17703,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server", "server" @@ -17584,6 +17757,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server", "server" @@ -17637,6 +17811,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server", "server" @@ -17690,6 +17865,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server", "server" @@ -17743,6 +17919,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server", "server" @@ -17796,6 +17973,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server", "server" @@ -17849,6 +18027,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server", "server" @@ -17902,6 +18081,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server", "server" @@ -31819,6 +31999,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -31904,6 +32085,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -32157,6 +32339,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "public", "platforms": [ + "console", "server" ], "packaging": false, @@ -32522,6 +32705,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -32582,6 +32766,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -32831,6 +33016,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -32893,6 +33079,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -32974,6 +33161,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -33069,6 +33257,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": true, @@ -33174,6 +33363,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -33255,6 +33445,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -33372,6 +33563,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -33471,6 +33663,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -33534,6 +33727,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -33599,6 +33793,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server", "server" ], @@ -33690,6 +33885,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -33762,6 +33958,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "log.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -33848,6 +34045,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "log.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -33911,6 +34109,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "log.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34066,6 +34265,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -34126,6 +34326,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34218,6 +34419,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -34288,6 +34490,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34382,6 +34585,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34454,6 +34658,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "buckets.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -34539,6 +34744,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "buckets.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34673,6 +34879,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "buckets.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -34733,6 +34940,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "buckets.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34864,6 +35072,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "buckets.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34926,6 +35135,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server", "server" @@ -35024,6 +35234,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId},chunkId:{chunkId}", "scope": "files.write", "platforms": [ + "console", "client", "server", "server" @@ -35124,6 +35335,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server", "server" @@ -35197,6 +35409,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "files.write", "platforms": [ + "console", "client", "server", "server" @@ -35289,6 +35502,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "files.write", "platforms": [ + "console", "client", "server", "server" @@ -35357,6 +35571,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server", "server" @@ -35436,6 +35651,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server", "server" @@ -35665,6 +35881,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server", "server" @@ -35907,6 +36124,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -35992,6 +36210,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -36075,6 +36294,7 @@ "rows.read" ], "platforms": [ + "console", "server", "client", "server" @@ -36144,6 +36364,7 @@ "rows.write" ], "platforms": [ + "console", "server", "client", "server" @@ -36216,6 +36437,7 @@ "rows.read" ], "platforms": [ + "console", "server", "client", "server" @@ -36282,6 +36504,7 @@ "rows.write" ], "platforms": [ + "console", "server", "client", "server" @@ -36362,6 +36585,7 @@ "rows.write" ], "platforms": [ + "console", "server", "client", "server" @@ -36430,6 +36654,7 @@ "rows.write" ], "platforms": [ + "console", "server", "client", "server" @@ -36613,6 +36838,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -36673,6 +36899,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -36750,6 +36977,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -36815,6 +37043,7 @@ "collections.read" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -36913,6 +37142,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -37038,6 +37268,7 @@ "collections.read" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -37111,6 +37342,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -37215,6 +37447,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -37290,6 +37523,7 @@ "collections.read" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -37389,6 +37623,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -37500,6 +37735,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -37616,6 +37852,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -37727,6 +37964,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -37843,6 +38081,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -37954,6 +38193,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -38070,6 +38310,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -38190,6 +38431,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -38315,6 +38557,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -38438,6 +38681,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -38566,6 +38810,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -38689,6 +38934,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -38817,6 +39063,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -38928,6 +39175,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -39044,6 +39292,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -39157,6 +39406,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -39279,6 +39529,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -39392,6 +39643,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -39514,6 +39766,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -39627,6 +39880,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -39749,6 +40003,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -39886,6 +40141,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -40008,6 +40264,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -40130,6 +40387,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -40241,6 +40499,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -40388,6 +40647,7 @@ "collections.read" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -40463,6 +40723,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -40547,6 +40808,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -40661,6 +40923,7 @@ "collections.read" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -40758,6 +41021,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -40897,6 +41161,7 @@ "collections.read" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -40972,6 +41237,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -41143,6 +41409,7 @@ "documents.read" ], "platforms": [ + "console", "client", "server", "server" @@ -41253,6 +41520,7 @@ "documents.write" ], "platforms": [ + "console", "client", "server", "server" @@ -41771,6 +42039,7 @@ "documents.read" ], "platforms": [ + "console", "client", "server", "server" @@ -41880,6 +42149,7 @@ "documents.write" ], "platforms": [ + "console", "client", "server", "server" @@ -42029,6 +42299,7 @@ "documents.write" ], "platforms": [ + "console", "client", "server", "server" @@ -42139,6 +42410,7 @@ "documents.write" ], "platforms": [ + "console", "client", "server", "server" @@ -42798,6 +43070,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server", "server" @@ -42886,6 +43159,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server", "server" @@ -42972,6 +43246,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server", "server" @@ -43035,6 +43310,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server", "server" @@ -43110,6 +43386,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server", "server" @@ -43260,6 +43537,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server", "server" @@ -43358,6 +43636,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server", "server" @@ -43477,6 +43756,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server", "server" @@ -43550,6 +43830,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server", "server" @@ -43645,6 +43926,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server", "server" @@ -43720,6 +44002,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "public", "platforms": [ + "console", "client", "server" ], @@ -43818,6 +44101,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server" ], @@ -43879,6 +44163,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server" ], @@ -44341,6 +44626,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -44426,6 +44712,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -44517,6 +44804,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -44603,6 +44891,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -44689,6 +44978,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -44769,6 +45059,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -44831,6 +45122,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -44917,6 +45209,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -45003,6 +45296,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -45119,6 +45413,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -45223,6 +45518,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -45402,6 +45698,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -45455,6 +45752,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -45517,6 +45815,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -45598,6 +45897,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -45681,6 +45981,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -45765,6 +46066,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -45851,6 +46153,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -45948,6 +46251,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -46082,6 +46386,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -46217,6 +46522,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -46335,6 +46641,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -46451,6 +46758,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -46567,6 +46875,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -46685,6 +46994,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -46766,6 +47076,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -46847,6 +47158,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -46928,6 +47240,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -46988,6 +47301,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -47069,6 +47383,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -47140,6 +47455,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -47193,6 +47509,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -47248,6 +47565,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -47320,6 +47638,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -47831,6 +48150,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -47914,6 +48234,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -47995,6 +48316,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, diff --git a/app/config/specs/open-api3-1.8.x-server.json b/app/config/specs/open-api3-1.8.x-server.json index 485766809e..11236f404b 100644 --- a/app/config/specs/open-api3-1.8.x-server.json +++ b/app/config/specs/open-api3-1.8.x-server.json @@ -58,6 +58,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -109,18 +110,22 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, "auth": { - "Project": [] + "Project": [], + "Session": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "requestBody": { @@ -195,6 +200,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -273,6 +279,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -345,6 +352,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -410,18 +418,22 @@ "rate-key": "url:{url},userId:{userId}", "scope": "account", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, "auth": { - "Project": [] + "Project": [], + "Session": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ] } @@ -460,6 +472,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -539,6 +552,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -611,6 +625,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -737,6 +752,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -879,6 +895,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1005,8 +1022,9 @@ "rate-key": "url:{url},userId:{userId}", "scope": "account", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": false, @@ -1020,7 +1038,8 @@ "namespace": "account", "desc": "", "auth": { - "Project": [] + "Project": [], + "Session": [] }, "parameters": [ "factor" @@ -1047,7 +1066,8 @@ "namespace": "account", "desc": "", "auth": { - "Project": [] + "Project": [], + "Session": [] }, "parameters": [ "factor" @@ -1067,12 +1087,15 @@ } ], "auth": { - "Project": [] + "Project": [], + "Session": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "requestBody": { @@ -1136,6 +1159,7 @@ "rate-key": "url:{url},challengeId:{param-challengeId}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1276,6 +1300,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1379,6 +1404,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1480,6 +1506,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1581,6 +1608,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1684,6 +1712,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1756,6 +1785,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1833,6 +1863,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1911,6 +1942,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1962,6 +1994,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2037,6 +2070,7 @@ ], "scope": "sessions.write", "platforms": [ + "console", "client", "server" ], @@ -2113,6 +2147,7 @@ "rate-key": "url:{url},userId:{param-userId}", "scope": "sessions.write", "platforms": [ + "console", "client", "server" ], @@ -2197,6 +2232,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2241,6 +2277,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2294,18 +2331,22 @@ "rate-key": "ip:{ip}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, "auth": { - "Project": [] + "Project": [], + "Session": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ] } @@ -2344,18 +2385,22 @@ "rate-key": "url:{url},email:{param-email}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, "auth": { - "Project": [] + "Project": [], + "Session": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "requestBody": { @@ -2419,8 +2464,9 @@ "rate-key": "ip:{ip},userId:{param-userId}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2429,12 +2475,15 @@ "replaceWith": "account.createSession" }, "auth": { - "Project": [] + "Project": [], + "Session": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "requestBody": { @@ -2498,8 +2547,9 @@ "rate-key": "ip:{ip},userId:{param-userId}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2508,12 +2558,15 @@ "replaceWith": "account.createSession" }, "auth": { - "Project": [] + "Project": [], + "Session": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "requestBody": { @@ -2577,18 +2630,22 @@ "rate-key": "ip:{ip},userId:{param-userId}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, "auth": { - "Project": [] + "Project": [], + "Session": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "requestBody": { @@ -2652,6 +2709,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2715,6 +2773,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2771,6 +2830,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2836,6 +2896,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2892,18 +2953,22 @@ ], "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, "auth": { - "Project": [] + "Project": [], + "Session": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "requestBody": { @@ -2975,18 +3040,22 @@ ], "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, "auth": { - "Project": [] + "Project": [], + "Session": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "requestBody": { @@ -3053,18 +3122,22 @@ "rate-key": "ip:{ip}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, "auth": { - "Project": [] + "Project": [], + "Session": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "parameters": [ @@ -3199,18 +3272,22 @@ ], "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, "auth": { - "Project": [] + "Project": [], + "Session": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "requestBody": { @@ -3274,6 +3351,7 @@ "rate-key": "url:{url},userId:{userId}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -3398,6 +3476,7 @@ "rate-key": "url:{url},userId:{param-userId}", "scope": "public", "platforms": [ + "console", "client", "server" ], @@ -3537,6 +3616,7 @@ ], "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -3588,6 +3668,7 @@ "rate-key": "userId:{param-userId}", "scope": "public", "platforms": [ + "console", "client", "server" ], @@ -3659,6 +3740,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server", "server" @@ -3788,6 +3870,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server", "server" @@ -3923,6 +4006,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server", "server" @@ -3984,6 +4068,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server", "server" @@ -4475,6 +4560,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server", "server" @@ -4560,6 +4646,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server", "server" @@ -4655,6 +4742,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server", "server" @@ -4750,6 +4838,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server", "server" @@ -5504,6 +5593,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -5624,6 +5714,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -5742,6 +5833,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "rows.read", "platforms": [ + "console", "server", "client", "server" @@ -5810,6 +5902,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.write", "platforms": [ + "console", "server", "client", "server" @@ -5881,6 +5974,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "rows.read", "platforms": [ + "console", "server", "client", "server" @@ -5946,6 +6040,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.write", "platforms": [ + "console", "server", "client", "server" @@ -6025,6 +6120,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.write", "platforms": [ + "console", "server", "client", "server" @@ -6092,6 +6188,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.write", "platforms": [ + "console", "server", "client", "server" @@ -6178,6 +6275,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -6273,6 +6371,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -6388,6 +6487,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -6484,6 +6584,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -6584,6 +6685,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -6711,6 +6813,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -6786,6 +6889,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -6892,6 +6996,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -6969,6 +7074,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -7070,6 +7176,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7183,6 +7290,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7301,6 +7409,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7414,6 +7523,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7532,6 +7642,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7645,6 +7756,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7763,6 +7875,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7885,6 +7998,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8012,6 +8126,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8137,6 +8252,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8267,6 +8383,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8392,6 +8509,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8522,6 +8640,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8635,6 +8754,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8753,6 +8873,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8868,6 +8989,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8992,6 +9114,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9107,6 +9230,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9231,6 +9355,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9346,6 +9471,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9470,6 +9596,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9609,6 +9736,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9733,6 +9861,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9857,6 +9986,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9970,6 +10100,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -10119,6 +10250,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -10196,6 +10328,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -10282,6 +10415,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -10398,6 +10532,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.read", "platforms": [ + "console", "client", "server", "server" @@ -10511,6 +10646,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "documents.write", "platforms": [ + "console", "client", "server", "server" @@ -11053,6 +11189,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.read", "platforms": [ + "console", "client", "server", "server" @@ -11165,6 +11302,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "documents.write", "platforms": [ + "console", "client", "server", "server" @@ -11326,6 +11464,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "documents.write", "platforms": [ + "console", "client", "server", "server" @@ -11439,6 +11578,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "documents.write", "platforms": [ + "console", "client", "server", "server" @@ -11805,6 +11945,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -11904,6 +12045,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -12045,6 +12187,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -12122,6 +12265,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -12208,6 +12352,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -12294,6 +12439,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -12590,6 +12736,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "public", "platforms": [ + "console", "server" ], "packaging": false, @@ -12693,6 +12840,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -12754,6 +12902,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -13047,6 +13196,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -13110,6 +13260,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -13192,6 +13343,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -13288,6 +13440,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": true, @@ -13388,6 +13541,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -13475,6 +13629,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -13593,6 +13748,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -13692,6 +13848,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -13756,6 +13913,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -13822,6 +13980,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server", "server" ], @@ -13914,6 +14073,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -13987,6 +14147,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "execution.read", "platforms": [ + "console", "client", "server", "server" @@ -14076,6 +14237,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "execution.write", "platforms": [ + "console", "client", "server", "server" @@ -14196,6 +14358,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "execution.read", "platforms": [ + "console", "client", "server", "server" @@ -14264,6 +14427,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "execution.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -14337,6 +14501,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -14398,6 +14563,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -14491,6 +14657,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -14562,6 +14729,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -14657,6 +14825,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -14730,6 +14899,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "graphql", "platforms": [ + "console", "server", "client", "server" @@ -14785,6 +14955,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "graphql", "platforms": [ + "console", "server", "client", "server" @@ -14840,6 +15011,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -14891,6 +15063,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -14942,6 +15115,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -14993,6 +15167,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15055,6 +15230,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15106,6 +15282,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15157,6 +15334,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15221,6 +15399,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15285,6 +15464,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15360,6 +15540,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15424,6 +15605,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15514,6 +15696,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15578,6 +15761,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15642,6 +15826,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15706,6 +15891,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15770,6 +15956,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15834,6 +16021,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15898,6 +16086,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15962,6 +16151,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16026,6 +16216,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16077,6 +16268,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16128,6 +16320,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16179,6 +16372,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server", "server" @@ -16234,6 +16428,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server", "server" @@ -16289,6 +16484,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server", "server" @@ -16344,6 +16540,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server", "server" @@ -16399,6 +16596,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server", "server" @@ -16454,6 +16652,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server", "server" @@ -16509,6 +16708,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server", "server" @@ -16564,6 +16764,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server", "server" @@ -22062,6 +22263,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -22148,6 +22350,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -22402,6 +22605,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "public", "platforms": [ + "console", "server" ], "packaging": false, @@ -22505,6 +22709,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -22566,6 +22771,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -22816,6 +23022,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -22879,6 +23086,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -22961,6 +23169,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -23057,6 +23266,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": true, @@ -23163,6 +23373,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -23245,6 +23456,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -23363,6 +23575,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -23463,6 +23676,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -23527,6 +23741,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -23593,6 +23808,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server", "server" ], @@ -23685,6 +23901,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -23758,6 +23975,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "log.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -23845,6 +24063,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "log.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -23909,6 +24128,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "log.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -23982,6 +24202,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -24043,6 +24264,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -24136,6 +24358,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -24207,6 +24430,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -24302,6 +24526,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -24375,6 +24600,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "buckets.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -24461,6 +24687,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "buckets.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -24596,6 +24823,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "buckets.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -24657,6 +24885,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "buckets.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -24789,6 +25018,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "buckets.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -24852,6 +25082,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server", "server" @@ -24952,6 +25183,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId},chunkId:{chunkId}", "scope": "files.write", "platforms": [ + "console", "client", "server", "server" @@ -25054,6 +25286,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server", "server" @@ -25129,6 +25362,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "files.write", "platforms": [ + "console", "client", "server", "server" @@ -25223,6 +25457,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "files.write", "platforms": [ + "console", "client", "server", "server" @@ -25293,6 +25528,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server", "server" @@ -25374,6 +25610,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server", "server" @@ -25605,6 +25842,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server", "server" @@ -25693,6 +25931,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -25779,6 +26018,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -25863,6 +26103,7 @@ "rows.read" ], "platforms": [ + "console", "server", "client", "server" @@ -25934,6 +26175,7 @@ "rows.write" ], "platforms": [ + "console", "server", "client", "server" @@ -26008,6 +26250,7 @@ "rows.read" ], "platforms": [ + "console", "server", "client", "server" @@ -26076,6 +26319,7 @@ "rows.write" ], "platforms": [ + "console", "server", "client", "server" @@ -26158,6 +26402,7 @@ "rows.write" ], "platforms": [ + "console", "server", "client", "server" @@ -26228,6 +26473,7 @@ "rows.write" ], "platforms": [ + "console", "server", "client", "server" @@ -26314,6 +26560,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -26375,6 +26622,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -26453,6 +26701,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -26519,6 +26768,7 @@ "collections.read" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -26618,6 +26868,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -26744,6 +26995,7 @@ "collections.read" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -26818,6 +27070,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -26923,6 +27176,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -26999,6 +27253,7 @@ "collections.read" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -27099,6 +27354,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -27211,6 +27467,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -27328,6 +27585,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -27440,6 +27698,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -27557,6 +27816,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -27669,6 +27929,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -27786,6 +28047,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -27907,6 +28169,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -28033,6 +28296,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -28157,6 +28421,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -28286,6 +28551,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -28410,6 +28676,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -28539,6 +28806,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -28651,6 +28919,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -28768,6 +29037,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -28882,6 +29152,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -29005,6 +29276,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -29119,6 +29391,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -29242,6 +29515,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -29356,6 +29630,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -29479,6 +29754,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -29617,6 +29893,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -29740,6 +30017,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -29863,6 +30141,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -29975,6 +30254,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -30123,6 +30403,7 @@ "collections.read" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -30199,6 +30480,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -30284,6 +30566,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -30399,6 +30682,7 @@ "collections.read" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -30497,6 +30781,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -30637,6 +30922,7 @@ "collections.read" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -30713,6 +30999,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -30798,6 +31085,7 @@ "documents.read" ], "platforms": [ + "console", "client", "server", "server" @@ -30910,6 +31198,7 @@ "documents.write" ], "platforms": [ + "console", "client", "server", "server" @@ -31436,6 +31725,7 @@ "documents.read" ], "platforms": [ + "console", "client", "server", "server" @@ -31547,6 +31837,7 @@ "documents.write" ], "platforms": [ + "console", "client", "server", "server" @@ -31699,6 +31990,7 @@ "documents.write" ], "platforms": [ + "console", "client", "server", "server" @@ -31811,6 +32103,7 @@ "documents.write" ], "platforms": [ + "console", "client", "server", "server" @@ -32171,6 +32464,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server", "server" @@ -32261,6 +32555,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server", "server" @@ -32349,6 +32644,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server", "server" @@ -32414,6 +32710,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server", "server" @@ -32491,6 +32788,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server", "server" @@ -32558,6 +32856,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server", "server" @@ -32658,6 +32957,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server", "server" @@ -32779,6 +33079,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server", "server" @@ -32854,6 +33155,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server", "server" @@ -32951,6 +33253,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server", "server" @@ -33028,6 +33331,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "public", "platforms": [ + "console", "client", "server" ], @@ -33128,6 +33432,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server" ], @@ -33191,6 +33496,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server" ], @@ -33660,6 +33966,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -33746,6 +34053,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -33838,6 +34146,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -33925,6 +34234,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34012,6 +34322,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -34093,6 +34404,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34156,6 +34468,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34243,6 +34556,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34330,6 +34644,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34447,6 +34762,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34552,6 +34868,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34659,6 +34976,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -34713,6 +35031,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34776,6 +35095,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34858,6 +35178,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34942,6 +35263,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -35027,6 +35349,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -35114,6 +35437,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -35212,6 +35536,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -35349,6 +35674,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -35487,6 +35813,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -35608,6 +35935,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -35727,6 +36055,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -35846,6 +36175,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -35967,6 +36297,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -36049,6 +36380,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -36131,6 +36463,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -36213,6 +36546,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -36274,6 +36608,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -36356,6 +36691,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -36428,6 +36764,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -36482,6 +36819,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -36538,6 +36876,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -36611,6 +36950,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -37128,6 +37468,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -37212,6 +37553,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -37294,6 +37636,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, diff --git a/app/config/specs/open-api3-latest-client.json b/app/config/specs/open-api3-latest-client.json index fe3f2f50ad..127eab321a 100644 --- a/app/config/specs/open-api3-latest-client.json +++ b/app/config/specs/open-api3-latest-client.json @@ -58,6 +58,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -108,8 +109,9 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -119,7 +121,9 @@ }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "requestBody": { @@ -194,6 +198,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -271,6 +276,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -342,6 +348,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -406,8 +413,9 @@ "rate-key": "url:{url},userId:{userId}", "scope": "account", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -417,7 +425,9 @@ }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ] } @@ -456,6 +466,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -534,6 +545,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -605,6 +617,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -728,6 +741,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -867,6 +881,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -990,8 +1005,9 @@ "rate-key": "url:{url},userId:{userId}", "scope": "account", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": false, @@ -1057,7 +1073,9 @@ }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "requestBody": { @@ -1121,6 +1139,7 @@ "rate-key": "url:{url},challengeId:{param-challengeId}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1258,6 +1277,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1358,6 +1378,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1456,6 +1477,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1554,6 +1576,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1654,6 +1677,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1725,6 +1749,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1801,6 +1826,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1878,6 +1904,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1928,6 +1955,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2002,6 +2030,7 @@ ], "scope": "sessions.write", "platforms": [ + "console", "client", "server" ], @@ -2077,6 +2106,7 @@ "rate-key": "url:{url},userId:{param-userId}", "scope": "sessions.write", "platforms": [ + "console", "client", "server" ], @@ -2160,6 +2190,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2203,6 +2234,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2255,8 +2287,9 @@ "rate-key": "ip:{ip}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2266,7 +2299,9 @@ }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ] } @@ -2305,8 +2340,9 @@ "rate-key": "url:{url},email:{param-email}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2316,7 +2352,9 @@ }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "requestBody": { @@ -2380,8 +2418,9 @@ "rate-key": "ip:{ip},userId:{param-userId}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2395,7 +2434,9 @@ }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "requestBody": { @@ -2452,8 +2493,9 @@ "rate-key": "ip:{ip}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2463,7 +2505,9 @@ }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "parameters": [ @@ -2595,8 +2639,9 @@ "rate-key": "ip:{ip},userId:{param-userId}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2610,7 +2655,9 @@ }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "requestBody": { @@ -2674,8 +2721,9 @@ "rate-key": "ip:{ip},userId:{param-userId}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2685,7 +2733,9 @@ }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "requestBody": { @@ -2749,6 +2799,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2811,6 +2862,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2866,6 +2918,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2930,6 +2983,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2982,6 +3036,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "targets.write", "platforms": [ + "console", "client" ], "packaging": false, @@ -3062,6 +3117,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "targets.write", "platforms": [ + "console", "client" ], "packaging": false, @@ -3134,6 +3190,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "targets.write", "platforms": [ + "console", "client" ], "packaging": false, @@ -3199,8 +3256,9 @@ ], "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -3210,7 +3268,9 @@ }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "requestBody": { @@ -3282,8 +3342,9 @@ ], "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -3293,7 +3354,9 @@ }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "requestBody": { @@ -3360,8 +3423,9 @@ "rate-key": "ip:{ip}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -3371,7 +3435,9 @@ }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "parameters": [ @@ -3506,8 +3572,9 @@ ], "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -3517,7 +3584,9 @@ }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "requestBody": { @@ -3581,6 +3650,7 @@ "rate-key": "url:{url},userId:{userId}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -3702,6 +3772,7 @@ "rate-key": "url:{url},userId:{param-userId}", "scope": "public", "platforms": [ + "console", "client", "server" ], @@ -3838,6 +3909,7 @@ ], "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -3888,6 +3960,7 @@ "rate-key": "userId:{param-userId}", "scope": "public", "platforms": [ + "console", "client", "server" ], @@ -3958,6 +4031,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server", "server" @@ -4085,6 +4159,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server", "server" @@ -4218,6 +4293,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server", "server" @@ -4277,6 +4353,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server", "server" @@ -4766,6 +4843,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server", "server" @@ -4849,6 +4927,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server", "server" @@ -4942,6 +5021,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server", "server" @@ -5035,6 +5115,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server", "server" @@ -5787,6 +5868,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "rows.read", "platforms": [ + "console", "server", "client", "server" @@ -5853,6 +5935,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.write", "platforms": [ + "console", "server", "client", "server" @@ -5922,6 +6005,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "rows.read", "platforms": [ + "console", "server", "client", "server" @@ -5985,6 +6069,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.write", "platforms": [ + "console", "server", "client", "server" @@ -6062,6 +6147,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.write", "platforms": [ + "console", "server", "client", "server" @@ -6127,6 +6213,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.write", "platforms": [ + "console", "server", "client", "server" @@ -6211,6 +6298,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.read", "platforms": [ + "console", "client", "server", "server" @@ -6322,6 +6410,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "documents.write", "platforms": [ + "console", "client", "server", "server" @@ -6482,6 +6571,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.read", "platforms": [ + "console", "client", "server", "server" @@ -6592,6 +6682,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "documents.write", "platforms": [ + "console", "client", "server", "server" @@ -6750,6 +6841,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "documents.write", "platforms": [ + "console", "client", "server", "server" @@ -6861,6 +6953,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "documents.write", "platforms": [ + "console", "client", "server", "server" @@ -7221,6 +7314,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "execution.read", "platforms": [ + "console", "client", "server", "server" @@ -7308,6 +7402,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "execution.write", "platforms": [ + "console", "client", "server", "server" @@ -7426,6 +7521,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "execution.read", "platforms": [ + "console", "client", "server", "server" @@ -7501,6 +7597,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "graphql", "platforms": [ + "console", "server", "client", "server" @@ -7554,6 +7651,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "graphql", "platforms": [ + "console", "server", "client", "server" @@ -7607,6 +7705,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server", "server" @@ -7660,6 +7759,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server", "server" @@ -7713,6 +7813,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server", "server" @@ -7766,6 +7867,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server", "server" @@ -7819,6 +7921,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server", "server" @@ -7872,6 +7975,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server", "server" @@ -7925,6 +8029,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server", "server" @@ -7978,6 +8083,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server", "server" @@ -8191,6 +8297,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server", "server" @@ -8289,6 +8396,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId},chunkId:{chunkId}", "scope": "files.write", "platforms": [ + "console", "client", "server", "server" @@ -8389,6 +8497,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server", "server" @@ -8462,6 +8571,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "files.write", "platforms": [ + "console", "client", "server", "server" @@ -8554,6 +8664,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "files.write", "platforms": [ + "console", "client", "server", "server" @@ -8622,6 +8733,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server", "server" @@ -8701,6 +8813,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server", "server" @@ -8930,6 +9043,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server", "server" @@ -9019,6 +9133,7 @@ "rows.read" ], "platforms": [ + "console", "server", "client", "server" @@ -9088,6 +9203,7 @@ "rows.write" ], "platforms": [ + "console", "server", "client", "server" @@ -9160,6 +9276,7 @@ "rows.read" ], "platforms": [ + "console", "server", "client", "server" @@ -9226,6 +9343,7 @@ "rows.write" ], "platforms": [ + "console", "server", "client", "server" @@ -9306,6 +9424,7 @@ "rows.write" ], "platforms": [ + "console", "server", "client", "server" @@ -9374,6 +9493,7 @@ "rows.write" ], "platforms": [ + "console", "server", "client", "server" @@ -9461,6 +9581,7 @@ "documents.read" ], "platforms": [ + "console", "client", "server", "server" @@ -9571,6 +9692,7 @@ "documents.write" ], "platforms": [ + "console", "client", "server", "server" @@ -9726,6 +9848,7 @@ "documents.read" ], "platforms": [ + "console", "client", "server", "server" @@ -9835,6 +9958,7 @@ "documents.write" ], "platforms": [ + "console", "client", "server", "server" @@ -9984,6 +10108,7 @@ "documents.write" ], "platforms": [ + "console", "client", "server", "server" @@ -10094,6 +10219,7 @@ "documents.write" ], "platforms": [ + "console", "client", "server", "server" @@ -10448,6 +10574,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server", "server" @@ -10536,6 +10663,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server", "server" @@ -10622,6 +10750,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server", "server" @@ -10685,6 +10814,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server", "server" @@ -10760,6 +10890,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server", "server" @@ -10825,6 +10956,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server", "server" @@ -10923,6 +11055,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server", "server" @@ -11042,6 +11175,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server", "server" @@ -11115,6 +11249,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server", "server" @@ -11210,6 +11345,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server", "server" @@ -11285,6 +11421,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "public", "platforms": [ + "console", "client", "server" ], @@ -11384,6 +11521,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server" ], @@ -11446,6 +11584,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server" ], diff --git a/app/config/specs/open-api3-latest-console.json b/app/config/specs/open-api3-latest-console.json index d436913e90..e639490175 100644 --- a/app/config/specs/open-api3-latest-console.json +++ b/app/config/specs/open-api3-latest-console.json @@ -58,6 +58,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -107,8 +108,9 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -118,7 +120,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "JWT": [] } ], "requestBody": { @@ -233,6 +236,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -309,6 +313,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -379,6 +384,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -442,8 +448,9 @@ "rate-key": "url:{url},userId:{userId}", "scope": "account", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -453,7 +460,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "JWT": [] } ] } @@ -492,6 +500,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -569,6 +578,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -639,6 +649,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -761,6 +772,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -899,6 +911,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1021,8 +1034,9 @@ "rate-key": "url:{url},userId:{userId}", "scope": "account", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": false, @@ -1088,7 +1102,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "JWT": [] } ], "requestBody": { @@ -1152,6 +1167,7 @@ "rate-key": "url:{url},challengeId:{param-challengeId}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1288,6 +1304,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1387,6 +1404,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1484,6 +1502,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1581,6 +1600,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1680,6 +1700,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1750,6 +1771,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1825,6 +1847,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1901,6 +1924,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1950,6 +1974,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2023,6 +2048,7 @@ ], "scope": "sessions.write", "platforms": [ + "console", "client", "server" ], @@ -2097,6 +2123,7 @@ "rate-key": "url:{url},userId:{param-userId}", "scope": "sessions.write", "platforms": [ + "console", "client", "server" ], @@ -2179,6 +2206,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2221,6 +2249,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2272,8 +2301,9 @@ "rate-key": "ip:{ip}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2283,7 +2313,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "JWT": [] } ] } @@ -2322,8 +2353,9 @@ "rate-key": "url:{url},email:{param-email}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2333,7 +2365,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "JWT": [] } ], "requestBody": { @@ -2397,8 +2430,9 @@ "rate-key": "ip:{ip},userId:{param-userId}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2412,7 +2446,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "JWT": [] } ], "requestBody": { @@ -2469,8 +2504,9 @@ "rate-key": "ip:{ip}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2480,7 +2516,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "JWT": [] } ], "parameters": [ @@ -2612,8 +2649,9 @@ "rate-key": "ip:{ip},userId:{param-userId}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2627,7 +2665,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "JWT": [] } ], "requestBody": { @@ -2691,8 +2730,9 @@ "rate-key": "ip:{ip},userId:{param-userId}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2702,7 +2742,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "JWT": [] } ], "requestBody": { @@ -2766,6 +2807,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2827,6 +2869,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2881,6 +2924,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2944,6 +2988,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2995,6 +3040,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "targets.write", "platforms": [ + "console", "client" ], "packaging": false, @@ -3074,6 +3120,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "targets.write", "platforms": [ + "console", "client" ], "packaging": false, @@ -3145,6 +3192,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "targets.write", "platforms": [ + "console", "client" ], "packaging": false, @@ -3209,8 +3257,9 @@ ], "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -3220,7 +3269,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "JWT": [] } ], "requestBody": { @@ -3292,8 +3342,9 @@ ], "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -3303,7 +3354,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "JWT": [] } ], "requestBody": { @@ -3370,8 +3422,9 @@ "rate-key": "ip:{ip}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -3381,7 +3434,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "JWT": [] } ], "parameters": [ @@ -3516,8 +3570,9 @@ ], "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -3527,7 +3582,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "JWT": [] } ], "requestBody": { @@ -3591,6 +3647,7 @@ "rate-key": "url:{url},userId:{userId}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -3711,6 +3768,7 @@ "rate-key": "url:{url},userId:{param-userId}", "scope": "public", "platforms": [ + "console", "client", "server" ], @@ -3846,6 +3904,7 @@ ], "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -3895,6 +3954,7 @@ "rate-key": "userId:{param-userId}", "scope": "public", "platforms": [ + "console", "client", "server" ], @@ -3964,6 +4024,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server", "server" @@ -4091,6 +4152,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server", "server" @@ -4224,6 +4286,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server", "server" @@ -4283,6 +4346,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server", "server" @@ -4772,6 +4836,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server", "server" @@ -4855,6 +4920,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server", "server" @@ -4948,6 +5014,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server", "server" @@ -5041,6 +5108,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server", "server" @@ -5972,6 +6040,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -6090,6 +6159,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -6206,6 +6276,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "rows.read", "platforms": [ + "console", "server", "client", "server" @@ -6272,6 +6343,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.write", "platforms": [ + "console", "server", "client", "server" @@ -6341,6 +6413,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "rows.read", "platforms": [ + "console", "server", "client", "server" @@ -6404,6 +6477,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.write", "platforms": [ + "console", "server", "client", "server" @@ -6481,6 +6555,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.write", "platforms": [ + "console", "server", "client", "server" @@ -6546,6 +6621,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.write", "platforms": [ + "console", "server", "client", "server" @@ -6734,6 +6810,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -6827,6 +6904,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -6940,6 +7018,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7034,6 +7113,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -7133,6 +7213,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7259,6 +7340,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -7333,6 +7415,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7438,6 +7521,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7514,6 +7598,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -7614,6 +7699,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7726,6 +7812,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7843,6 +7930,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7955,6 +8043,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8072,6 +8161,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8184,6 +8274,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8301,6 +8392,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8422,6 +8514,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8548,6 +8641,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8672,6 +8766,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8801,6 +8896,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8925,6 +9021,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9054,6 +9151,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9166,6 +9264,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9283,6 +9382,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9397,6 +9497,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9520,6 +9621,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9634,6 +9736,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9757,6 +9860,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9871,6 +9975,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9994,6 +10099,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -10132,6 +10238,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -10255,6 +10362,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -10378,6 +10486,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -10490,6 +10599,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -10638,6 +10748,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -10714,6 +10825,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -10799,6 +10911,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -10914,6 +11027,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.read", "platforms": [ + "console", "client", "server", "server" @@ -11025,6 +11139,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "documents.write", "platforms": [ + "console", "client", "server", "server" @@ -11559,6 +11674,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.read", "platforms": [ + "console", "client", "server", "server" @@ -11669,6 +11785,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "documents.write", "platforms": [ + "console", "client", "server", "server" @@ -11827,6 +11944,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "documents.write", "platforms": [ + "console", "client", "server", "server" @@ -11938,6 +12056,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "documents.write", "platforms": [ + "console", "client", "server", "server" @@ -12396,6 +12515,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -12494,6 +12614,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -12634,6 +12755,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -12710,6 +12832,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -13205,6 +13328,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -13290,6 +13414,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -13585,6 +13710,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "public", "platforms": [ + "console", "server" ], "packaging": false, @@ -14013,6 +14139,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -14073,6 +14200,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -14365,6 +14493,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -14427,6 +14556,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -14508,6 +14638,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -14603,6 +14734,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": true, @@ -14702,6 +14834,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -14788,6 +14921,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -14905,6 +15039,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -15003,6 +15138,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15066,6 +15202,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -15131,6 +15268,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server", "server" ], @@ -15222,6 +15360,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -15294,6 +15433,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "execution.read", "platforms": [ + "console", "client", "server", "server" @@ -15381,6 +15521,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "execution.write", "platforms": [ + "console", "client", "server", "server" @@ -15499,6 +15640,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "execution.read", "platforms": [ + "console", "client", "server", "server" @@ -15565,6 +15707,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "execution.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -15720,6 +15863,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15780,6 +15924,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -15872,6 +16017,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15942,6 +16088,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -16036,6 +16183,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -16108,6 +16256,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "graphql", "platforms": [ + "console", "server", "client", "server" @@ -16161,6 +16310,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "graphql", "platforms": [ + "console", "server", "client", "server" @@ -16214,6 +16364,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16264,6 +16415,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16314,6 +16466,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16364,6 +16517,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16425,6 +16579,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16475,6 +16630,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16525,6 +16681,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16588,6 +16745,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16651,6 +16809,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16725,6 +16884,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16788,6 +16948,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16877,6 +17038,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16940,6 +17102,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -17003,6 +17166,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -17066,6 +17230,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -17129,6 +17294,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -17192,6 +17358,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -17255,6 +17422,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -17318,6 +17486,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -17381,6 +17550,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -17431,6 +17601,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -17481,6 +17652,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -17531,6 +17703,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server", "server" @@ -17584,6 +17757,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server", "server" @@ -17637,6 +17811,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server", "server" @@ -17690,6 +17865,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server", "server" @@ -17743,6 +17919,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server", "server" @@ -17796,6 +17973,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server", "server" @@ -17849,6 +18027,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server", "server" @@ -17902,6 +18081,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server", "server" @@ -31819,6 +31999,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -31904,6 +32085,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -32157,6 +32339,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "public", "platforms": [ + "console", "server" ], "packaging": false, @@ -32522,6 +32705,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -32582,6 +32766,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -32831,6 +33016,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -32893,6 +33079,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -32974,6 +33161,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -33069,6 +33257,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": true, @@ -33174,6 +33363,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -33255,6 +33445,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -33372,6 +33563,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -33471,6 +33663,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -33534,6 +33727,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -33599,6 +33793,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server", "server" ], @@ -33690,6 +33885,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -33762,6 +33958,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "log.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -33848,6 +34045,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "log.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -33911,6 +34109,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "log.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34066,6 +34265,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -34126,6 +34326,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34218,6 +34419,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -34288,6 +34490,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34382,6 +34585,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34454,6 +34658,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "buckets.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -34539,6 +34744,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "buckets.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34673,6 +34879,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "buckets.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -34733,6 +34940,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "buckets.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34864,6 +35072,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "buckets.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34926,6 +35135,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server", "server" @@ -35024,6 +35234,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId},chunkId:{chunkId}", "scope": "files.write", "platforms": [ + "console", "client", "server", "server" @@ -35124,6 +35335,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server", "server" @@ -35197,6 +35409,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "files.write", "platforms": [ + "console", "client", "server", "server" @@ -35289,6 +35502,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "files.write", "platforms": [ + "console", "client", "server", "server" @@ -35357,6 +35571,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server", "server" @@ -35436,6 +35651,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server", "server" @@ -35665,6 +35881,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server", "server" @@ -35907,6 +36124,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -35992,6 +36210,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -36075,6 +36294,7 @@ "rows.read" ], "platforms": [ + "console", "server", "client", "server" @@ -36144,6 +36364,7 @@ "rows.write" ], "platforms": [ + "console", "server", "client", "server" @@ -36216,6 +36437,7 @@ "rows.read" ], "platforms": [ + "console", "server", "client", "server" @@ -36282,6 +36504,7 @@ "rows.write" ], "platforms": [ + "console", "server", "client", "server" @@ -36362,6 +36585,7 @@ "rows.write" ], "platforms": [ + "console", "server", "client", "server" @@ -36430,6 +36654,7 @@ "rows.write" ], "platforms": [ + "console", "server", "client", "server" @@ -36613,6 +36838,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -36673,6 +36899,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -36750,6 +36977,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -36815,6 +37043,7 @@ "collections.read" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -36913,6 +37142,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -37038,6 +37268,7 @@ "collections.read" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -37111,6 +37342,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -37215,6 +37447,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -37290,6 +37523,7 @@ "collections.read" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -37389,6 +37623,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -37500,6 +37735,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -37616,6 +37852,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -37727,6 +37964,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -37843,6 +38081,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -37954,6 +38193,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -38070,6 +38310,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -38190,6 +38431,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -38315,6 +38557,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -38438,6 +38681,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -38566,6 +38810,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -38689,6 +38934,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -38817,6 +39063,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -38928,6 +39175,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -39044,6 +39292,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -39157,6 +39406,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -39279,6 +39529,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -39392,6 +39643,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -39514,6 +39766,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -39627,6 +39880,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -39749,6 +40003,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -39886,6 +40141,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -40008,6 +40264,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -40130,6 +40387,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -40241,6 +40499,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -40388,6 +40647,7 @@ "collections.read" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -40463,6 +40723,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -40547,6 +40808,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -40661,6 +40923,7 @@ "collections.read" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -40758,6 +41021,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -40897,6 +41161,7 @@ "collections.read" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -40972,6 +41237,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -41143,6 +41409,7 @@ "documents.read" ], "platforms": [ + "console", "client", "server", "server" @@ -41253,6 +41520,7 @@ "documents.write" ], "platforms": [ + "console", "client", "server", "server" @@ -41771,6 +42039,7 @@ "documents.read" ], "platforms": [ + "console", "client", "server", "server" @@ -41880,6 +42149,7 @@ "documents.write" ], "platforms": [ + "console", "client", "server", "server" @@ -42029,6 +42299,7 @@ "documents.write" ], "platforms": [ + "console", "client", "server", "server" @@ -42139,6 +42410,7 @@ "documents.write" ], "platforms": [ + "console", "client", "server", "server" @@ -42798,6 +43070,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server", "server" @@ -42886,6 +43159,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server", "server" @@ -42972,6 +43246,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server", "server" @@ -43035,6 +43310,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server", "server" @@ -43110,6 +43386,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server", "server" @@ -43260,6 +43537,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server", "server" @@ -43358,6 +43636,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server", "server" @@ -43477,6 +43756,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server", "server" @@ -43550,6 +43830,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server", "server" @@ -43645,6 +43926,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server", "server" @@ -43720,6 +44002,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "public", "platforms": [ + "console", "client", "server" ], @@ -43818,6 +44101,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server" ], @@ -43879,6 +44163,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server" ], @@ -44341,6 +44626,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -44426,6 +44712,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -44517,6 +44804,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -44603,6 +44891,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -44689,6 +44978,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -44769,6 +45059,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -44831,6 +45122,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -44917,6 +45209,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -45003,6 +45296,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -45119,6 +45413,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -45223,6 +45518,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -45402,6 +45698,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -45455,6 +45752,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -45517,6 +45815,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -45598,6 +45897,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -45681,6 +45981,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -45765,6 +46066,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -45851,6 +46153,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -45948,6 +46251,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -46082,6 +46386,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -46217,6 +46522,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -46335,6 +46641,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -46451,6 +46758,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -46567,6 +46875,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -46685,6 +46994,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -46766,6 +47076,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -46847,6 +47158,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -46928,6 +47240,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -46988,6 +47301,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -47069,6 +47383,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -47140,6 +47455,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -47193,6 +47509,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -47248,6 +47565,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -47320,6 +47638,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -47831,6 +48150,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -47914,6 +48234,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -47995,6 +48316,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, diff --git a/app/config/specs/open-api3-latest-server.json b/app/config/specs/open-api3-latest-server.json index 485766809e..11236f404b 100644 --- a/app/config/specs/open-api3-latest-server.json +++ b/app/config/specs/open-api3-latest-server.json @@ -58,6 +58,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -109,18 +110,22 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, "auth": { - "Project": [] + "Project": [], + "Session": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "requestBody": { @@ -195,6 +200,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -273,6 +279,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -345,6 +352,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -410,18 +418,22 @@ "rate-key": "url:{url},userId:{userId}", "scope": "account", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, "auth": { - "Project": [] + "Project": [], + "Session": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ] } @@ -460,6 +472,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -539,6 +552,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -611,6 +625,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -737,6 +752,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -879,6 +895,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1005,8 +1022,9 @@ "rate-key": "url:{url},userId:{userId}", "scope": "account", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": false, @@ -1020,7 +1038,8 @@ "namespace": "account", "desc": "", "auth": { - "Project": [] + "Project": [], + "Session": [] }, "parameters": [ "factor" @@ -1047,7 +1066,8 @@ "namespace": "account", "desc": "", "auth": { - "Project": [] + "Project": [], + "Session": [] }, "parameters": [ "factor" @@ -1067,12 +1087,15 @@ } ], "auth": { - "Project": [] + "Project": [], + "Session": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "requestBody": { @@ -1136,6 +1159,7 @@ "rate-key": "url:{url},challengeId:{param-challengeId}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1276,6 +1300,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1379,6 +1404,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1480,6 +1506,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1581,6 +1608,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1684,6 +1712,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1756,6 +1785,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1833,6 +1863,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1911,6 +1942,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1962,6 +1994,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2037,6 +2070,7 @@ ], "scope": "sessions.write", "platforms": [ + "console", "client", "server" ], @@ -2113,6 +2147,7 @@ "rate-key": "url:{url},userId:{param-userId}", "scope": "sessions.write", "platforms": [ + "console", "client", "server" ], @@ -2197,6 +2232,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2241,6 +2277,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2294,18 +2331,22 @@ "rate-key": "ip:{ip}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, "auth": { - "Project": [] + "Project": [], + "Session": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ] } @@ -2344,18 +2385,22 @@ "rate-key": "url:{url},email:{param-email}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, "auth": { - "Project": [] + "Project": [], + "Session": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "requestBody": { @@ -2419,8 +2464,9 @@ "rate-key": "ip:{ip},userId:{param-userId}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2429,12 +2475,15 @@ "replaceWith": "account.createSession" }, "auth": { - "Project": [] + "Project": [], + "Session": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "requestBody": { @@ -2498,8 +2547,9 @@ "rate-key": "ip:{ip},userId:{param-userId}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2508,12 +2558,15 @@ "replaceWith": "account.createSession" }, "auth": { - "Project": [] + "Project": [], + "Session": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "requestBody": { @@ -2577,18 +2630,22 @@ "rate-key": "ip:{ip},userId:{param-userId}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, "auth": { - "Project": [] + "Project": [], + "Session": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "requestBody": { @@ -2652,6 +2709,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2715,6 +2773,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2771,6 +2830,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2836,6 +2896,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2892,18 +2953,22 @@ ], "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, "auth": { - "Project": [] + "Project": [], + "Session": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "requestBody": { @@ -2975,18 +3040,22 @@ ], "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, "auth": { - "Project": [] + "Project": [], + "Session": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "requestBody": { @@ -3053,18 +3122,22 @@ "rate-key": "ip:{ip}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, "auth": { - "Project": [] + "Project": [], + "Session": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "parameters": [ @@ -3199,18 +3272,22 @@ ], "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, "auth": { - "Project": [] + "Project": [], + "Session": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "requestBody": { @@ -3274,6 +3351,7 @@ "rate-key": "url:{url},userId:{userId}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -3398,6 +3476,7 @@ "rate-key": "url:{url},userId:{param-userId}", "scope": "public", "platforms": [ + "console", "client", "server" ], @@ -3537,6 +3616,7 @@ ], "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -3588,6 +3668,7 @@ "rate-key": "userId:{param-userId}", "scope": "public", "platforms": [ + "console", "client", "server" ], @@ -3659,6 +3740,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server", "server" @@ -3788,6 +3870,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server", "server" @@ -3923,6 +4006,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server", "server" @@ -3984,6 +4068,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server", "server" @@ -4475,6 +4560,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server", "server" @@ -4560,6 +4646,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server", "server" @@ -4655,6 +4742,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server", "server" @@ -4750,6 +4838,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server", "server" @@ -5504,6 +5593,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -5624,6 +5714,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -5742,6 +5833,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "rows.read", "platforms": [ + "console", "server", "client", "server" @@ -5810,6 +5902,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.write", "platforms": [ + "console", "server", "client", "server" @@ -5881,6 +5974,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "rows.read", "platforms": [ + "console", "server", "client", "server" @@ -5946,6 +6040,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.write", "platforms": [ + "console", "server", "client", "server" @@ -6025,6 +6120,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.write", "platforms": [ + "console", "server", "client", "server" @@ -6092,6 +6188,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.write", "platforms": [ + "console", "server", "client", "server" @@ -6178,6 +6275,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -6273,6 +6371,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -6388,6 +6487,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -6484,6 +6584,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -6584,6 +6685,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -6711,6 +6813,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -6786,6 +6889,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -6892,6 +6996,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -6969,6 +7074,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -7070,6 +7176,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7183,6 +7290,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7301,6 +7409,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7414,6 +7523,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7532,6 +7642,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7645,6 +7756,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7763,6 +7875,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7885,6 +7998,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8012,6 +8126,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8137,6 +8252,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8267,6 +8383,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8392,6 +8509,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8522,6 +8640,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8635,6 +8754,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8753,6 +8873,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8868,6 +8989,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8992,6 +9114,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9107,6 +9230,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9231,6 +9355,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9346,6 +9471,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9470,6 +9596,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9609,6 +9736,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9733,6 +9861,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9857,6 +9986,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9970,6 +10100,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -10119,6 +10250,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -10196,6 +10328,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -10282,6 +10415,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -10398,6 +10532,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.read", "platforms": [ + "console", "client", "server", "server" @@ -10511,6 +10646,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "documents.write", "platforms": [ + "console", "client", "server", "server" @@ -11053,6 +11189,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.read", "platforms": [ + "console", "client", "server", "server" @@ -11165,6 +11302,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "documents.write", "platforms": [ + "console", "client", "server", "server" @@ -11326,6 +11464,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "documents.write", "platforms": [ + "console", "client", "server", "server" @@ -11439,6 +11578,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "documents.write", "platforms": [ + "console", "client", "server", "server" @@ -11805,6 +11945,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -11904,6 +12045,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -12045,6 +12187,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -12122,6 +12265,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -12208,6 +12352,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -12294,6 +12439,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -12590,6 +12736,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "public", "platforms": [ + "console", "server" ], "packaging": false, @@ -12693,6 +12840,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -12754,6 +12902,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -13047,6 +13196,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -13110,6 +13260,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -13192,6 +13343,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -13288,6 +13440,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": true, @@ -13388,6 +13541,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -13475,6 +13629,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -13593,6 +13748,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -13692,6 +13848,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -13756,6 +13913,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -13822,6 +13980,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server", "server" ], @@ -13914,6 +14073,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -13987,6 +14147,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "execution.read", "platforms": [ + "console", "client", "server", "server" @@ -14076,6 +14237,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "execution.write", "platforms": [ + "console", "client", "server", "server" @@ -14196,6 +14358,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "execution.read", "platforms": [ + "console", "client", "server", "server" @@ -14264,6 +14427,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "execution.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -14337,6 +14501,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -14398,6 +14563,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -14491,6 +14657,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -14562,6 +14729,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -14657,6 +14825,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -14730,6 +14899,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "graphql", "platforms": [ + "console", "server", "client", "server" @@ -14785,6 +14955,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "graphql", "platforms": [ + "console", "server", "client", "server" @@ -14840,6 +15011,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -14891,6 +15063,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -14942,6 +15115,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -14993,6 +15167,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15055,6 +15230,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15106,6 +15282,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15157,6 +15334,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15221,6 +15399,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15285,6 +15464,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15360,6 +15540,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15424,6 +15605,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15514,6 +15696,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15578,6 +15761,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15642,6 +15826,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15706,6 +15891,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15770,6 +15956,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15834,6 +16021,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15898,6 +16086,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15962,6 +16151,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16026,6 +16216,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16077,6 +16268,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16128,6 +16320,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16179,6 +16372,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server", "server" @@ -16234,6 +16428,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server", "server" @@ -16289,6 +16484,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server", "server" @@ -16344,6 +16540,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server", "server" @@ -16399,6 +16596,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server", "server" @@ -16454,6 +16652,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server", "server" @@ -16509,6 +16708,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server", "server" @@ -16564,6 +16764,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server", "server" @@ -22062,6 +22263,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -22148,6 +22350,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -22402,6 +22605,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "public", "platforms": [ + "console", "server" ], "packaging": false, @@ -22505,6 +22709,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -22566,6 +22771,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -22816,6 +23022,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -22879,6 +23086,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -22961,6 +23169,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -23057,6 +23266,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": true, @@ -23163,6 +23373,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -23245,6 +23456,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -23363,6 +23575,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -23463,6 +23676,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -23527,6 +23741,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -23593,6 +23808,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server", "server" ], @@ -23685,6 +23901,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -23758,6 +23975,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "log.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -23845,6 +24063,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "log.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -23909,6 +24128,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "log.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -23982,6 +24202,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -24043,6 +24264,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -24136,6 +24358,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -24207,6 +24430,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -24302,6 +24526,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -24375,6 +24600,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "buckets.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -24461,6 +24687,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "buckets.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -24596,6 +24823,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "buckets.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -24657,6 +24885,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "buckets.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -24789,6 +25018,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "buckets.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -24852,6 +25082,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server", "server" @@ -24952,6 +25183,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId},chunkId:{chunkId}", "scope": "files.write", "platforms": [ + "console", "client", "server", "server" @@ -25054,6 +25286,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server", "server" @@ -25129,6 +25362,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "files.write", "platforms": [ + "console", "client", "server", "server" @@ -25223,6 +25457,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "files.write", "platforms": [ + "console", "client", "server", "server" @@ -25293,6 +25528,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server", "server" @@ -25374,6 +25610,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server", "server" @@ -25605,6 +25842,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server", "server" @@ -25693,6 +25931,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -25779,6 +26018,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -25863,6 +26103,7 @@ "rows.read" ], "platforms": [ + "console", "server", "client", "server" @@ -25934,6 +26175,7 @@ "rows.write" ], "platforms": [ + "console", "server", "client", "server" @@ -26008,6 +26250,7 @@ "rows.read" ], "platforms": [ + "console", "server", "client", "server" @@ -26076,6 +26319,7 @@ "rows.write" ], "platforms": [ + "console", "server", "client", "server" @@ -26158,6 +26402,7 @@ "rows.write" ], "platforms": [ + "console", "server", "client", "server" @@ -26228,6 +26473,7 @@ "rows.write" ], "platforms": [ + "console", "server", "client", "server" @@ -26314,6 +26560,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -26375,6 +26622,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -26453,6 +26701,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -26519,6 +26768,7 @@ "collections.read" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -26618,6 +26868,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -26744,6 +26995,7 @@ "collections.read" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -26818,6 +27070,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -26923,6 +27176,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -26999,6 +27253,7 @@ "collections.read" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -27099,6 +27354,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -27211,6 +27467,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -27328,6 +27585,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -27440,6 +27698,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -27557,6 +27816,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -27669,6 +27929,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -27786,6 +28047,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -27907,6 +28169,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -28033,6 +28296,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -28157,6 +28421,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -28286,6 +28551,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -28410,6 +28676,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -28539,6 +28806,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -28651,6 +28919,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -28768,6 +29037,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -28882,6 +29152,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -29005,6 +29276,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -29119,6 +29391,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -29242,6 +29515,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -29356,6 +29630,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -29479,6 +29754,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -29617,6 +29893,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -29740,6 +30017,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -29863,6 +30141,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -29975,6 +30254,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -30123,6 +30403,7 @@ "collections.read" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -30199,6 +30480,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -30284,6 +30566,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -30399,6 +30682,7 @@ "collections.read" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -30497,6 +30781,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -30637,6 +30922,7 @@ "collections.read" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -30713,6 +30999,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -30798,6 +31085,7 @@ "documents.read" ], "platforms": [ + "console", "client", "server", "server" @@ -30910,6 +31198,7 @@ "documents.write" ], "platforms": [ + "console", "client", "server", "server" @@ -31436,6 +31725,7 @@ "documents.read" ], "platforms": [ + "console", "client", "server", "server" @@ -31547,6 +31837,7 @@ "documents.write" ], "platforms": [ + "console", "client", "server", "server" @@ -31699,6 +31990,7 @@ "documents.write" ], "platforms": [ + "console", "client", "server", "server" @@ -31811,6 +32103,7 @@ "documents.write" ], "platforms": [ + "console", "client", "server", "server" @@ -32171,6 +32464,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server", "server" @@ -32261,6 +32555,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server", "server" @@ -32349,6 +32644,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server", "server" @@ -32414,6 +32710,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server", "server" @@ -32491,6 +32788,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server", "server" @@ -32558,6 +32856,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server", "server" @@ -32658,6 +32957,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server", "server" @@ -32779,6 +33079,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server", "server" @@ -32854,6 +33155,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server", "server" @@ -32951,6 +33253,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server", "server" @@ -33028,6 +33331,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "public", "platforms": [ + "console", "client", "server" ], @@ -33128,6 +33432,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server" ], @@ -33191,6 +33496,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server" ], @@ -33660,6 +33966,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -33746,6 +34053,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -33838,6 +34146,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -33925,6 +34234,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34012,6 +34322,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -34093,6 +34404,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34156,6 +34468,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34243,6 +34556,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34330,6 +34644,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34447,6 +34762,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34552,6 +34868,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34659,6 +34976,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -34713,6 +35031,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34776,6 +35095,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34858,6 +35178,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34942,6 +35263,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -35027,6 +35349,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -35114,6 +35437,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -35212,6 +35536,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -35349,6 +35674,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -35487,6 +35813,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -35608,6 +35935,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -35727,6 +36055,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -35846,6 +36175,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -35967,6 +36297,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -36049,6 +36380,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -36131,6 +36463,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -36213,6 +36546,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -36274,6 +36608,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -36356,6 +36691,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -36428,6 +36764,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -36482,6 +36819,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -36538,6 +36876,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -36611,6 +36950,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -37128,6 +37468,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -37212,6 +37553,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -37294,6 +37636,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, diff --git a/app/config/specs/swagger2-1.8.x-client.json b/app/config/specs/swagger2-1.8.x-client.json index e3d69b55ce..823c0ea134 100644 --- a/app/config/specs/swagger2-1.8.x-client.json +++ b/app/config/specs/swagger2-1.8.x-client.json @@ -104,6 +104,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -156,8 +157,9 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -167,7 +169,9 @@ }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "parameters": [ @@ -248,6 +252,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -327,6 +332,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -399,6 +405,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -463,8 +470,9 @@ "rate-key": "url:{url},userId:{userId}", "scope": "account", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -474,7 +482,9 @@ }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ] } @@ -513,6 +523,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -590,6 +601,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -664,6 +676,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -787,6 +800,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -927,6 +941,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1050,8 +1065,9 @@ "rate-key": "url:{url},userId:{userId}", "scope": "account", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": false, @@ -1117,7 +1133,9 @@ }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "parameters": [ @@ -1184,6 +1202,7 @@ "rate-key": "url:{url},challengeId:{param-challengeId}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1323,6 +1342,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1423,6 +1443,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1523,6 +1544,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1623,6 +1645,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1725,6 +1748,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1799,6 +1823,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1879,6 +1904,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1958,6 +1984,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2010,6 +2037,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2087,6 +2115,7 @@ ], "scope": "sessions.write", "platforms": [ + "console", "client", "server" ], @@ -2166,6 +2195,7 @@ "rate-key": "url:{url},userId:{param-userId}", "scope": "sessions.write", "platforms": [ + "console", "client", "server" ], @@ -2252,6 +2282,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2299,6 +2330,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2353,8 +2385,9 @@ "rate-key": "ip:{ip}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2364,7 +2397,9 @@ }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ] } @@ -2405,8 +2440,9 @@ "rate-key": "url:{url},email:{param-email}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2416,7 +2452,9 @@ }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "parameters": [ @@ -2484,8 +2522,9 @@ "rate-key": "ip:{ip},userId:{param-userId}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2499,7 +2538,9 @@ }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "parameters": [ @@ -2562,8 +2603,9 @@ "rate-key": "ip:{ip}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2573,7 +2615,9 @@ }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "parameters": [ @@ -2700,8 +2744,9 @@ "rate-key": "ip:{ip},userId:{param-userId}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2715,7 +2760,9 @@ }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "parameters": [ @@ -2783,8 +2830,9 @@ "rate-key": "ip:{ip},userId:{param-userId}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2794,7 +2842,9 @@ }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "parameters": [ @@ -2860,6 +2910,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2922,6 +2973,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2979,6 +3031,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -3043,6 +3096,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -3097,6 +3151,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "targets.write", "platforms": [ + "console", "client" ], "packaging": false, @@ -3182,6 +3237,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "targets.write", "platforms": [ + "console", "client" ], "packaging": false, @@ -3255,6 +3311,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "targets.write", "platforms": [ + "console", "client" ], "packaging": false, @@ -3320,8 +3377,9 @@ ], "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -3331,7 +3389,9 @@ }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "parameters": [ @@ -3408,8 +3468,9 @@ ], "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -3419,7 +3480,9 @@ }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "parameters": [ @@ -3494,8 +3557,9 @@ "rate-key": "ip:{ip}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -3505,7 +3569,9 @@ }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "parameters": [ @@ -3635,8 +3701,9 @@ ], "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -3646,7 +3713,9 @@ }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "parameters": [ @@ -3714,6 +3783,7 @@ "rate-key": "url:{url},userId:{userId}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -3838,6 +3908,7 @@ "rate-key": "url:{url},userId:{param-userId}", "scope": "public", "platforms": [ + "console", "client", "server" ], @@ -3978,6 +4049,7 @@ ], "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -4030,6 +4102,7 @@ "rate-key": "userId:{param-userId}", "scope": "public", "platforms": [ + "console", "client", "server" ], @@ -4109,6 +4182,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server" ], @@ -4234,6 +4308,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server" ], @@ -4365,6 +4440,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server" ], @@ -4428,6 +4504,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server" ], @@ -4915,6 +4992,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server" ], @@ -4998,6 +5076,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server" ], @@ -5089,6 +5168,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server" ], @@ -5180,6 +5260,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server" ], @@ -5892,6 +5973,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "rows.read", "platforms": [ + "console", "server", "client" ], @@ -5958,6 +6040,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.write", "platforms": [ + "console", "server", "client" ], @@ -6027,6 +6110,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "rows.read", "platforms": [ + "console", "server", "client" ], @@ -6089,6 +6173,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.write", "platforms": [ + "console", "server", "client" ], @@ -6167,6 +6252,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.write", "platforms": [ + "console", "server", "client" ], @@ -6231,6 +6317,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.write", "platforms": [ + "console", "server", "client" ], @@ -6311,6 +6398,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.read", "platforms": [ + "console", "client", "server" ], @@ -6414,6 +6502,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "documents.write", "platforms": [ + "console", "client", "server" ], @@ -6572,6 +6661,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.read", "platforms": [ + "console", "client", "server" ], @@ -6674,6 +6764,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "documents.write", "platforms": [ + "console", "client", "server" ], @@ -6828,6 +6919,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "documents.write", "platforms": [ + "console", "client", "server" ], @@ -6937,6 +7029,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "documents.write", "platforms": [ + "console", "client", "server" ], @@ -7277,6 +7370,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "execution.read", "platforms": [ + "console", "client", "server" ], @@ -7360,6 +7454,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "execution.write", "platforms": [ + "console", "client", "server" ], @@ -7479,6 +7574,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "execution.read", "platforms": [ + "console", "client", "server" ], @@ -7551,6 +7647,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "graphql", "platforms": [ + "console", "server", "client" ], @@ -7625,6 +7722,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "graphql", "platforms": [ + "console", "server", "client" ], @@ -7697,6 +7795,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server" ], @@ -7749,6 +7848,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server" ], @@ -7801,6 +7901,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server" ], @@ -7853,6 +7954,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server" ], @@ -7905,6 +8007,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server" ], @@ -7957,6 +8060,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server" ], @@ -8009,6 +8113,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server" ], @@ -8061,6 +8166,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server" ], @@ -8271,6 +8377,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server" ], @@ -8363,6 +8470,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId},chunkId:{chunkId}", "scope": "files.write", "platforms": [ + "console", "client", "server" ], @@ -8453,6 +8561,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server" ], @@ -8523,6 +8632,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "files.write", "platforms": [ + "console", "client", "server" ], @@ -8614,6 +8724,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "files.write", "platforms": [ + "console", "client", "server" ], @@ -8684,6 +8795,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server" ], @@ -8763,6 +8875,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server" ], @@ -8970,6 +9083,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server" ], @@ -9052,6 +9166,7 @@ "rows.read" ], "platforms": [ + "console", "server", "client" ], @@ -9121,6 +9236,7 @@ "rows.write" ], "platforms": [ + "console", "server", "client" ], @@ -9193,6 +9309,7 @@ "rows.read" ], "platforms": [ + "console", "server", "client" ], @@ -9258,6 +9375,7 @@ "rows.write" ], "platforms": [ + "console", "server", "client" ], @@ -9339,6 +9457,7 @@ "rows.write" ], "platforms": [ + "console", "server", "client" ], @@ -9406,6 +9525,7 @@ "rows.write" ], "platforms": [ + "console", "server", "client" ], @@ -9489,6 +9609,7 @@ "documents.read" ], "platforms": [ + "console", "client", "server" ], @@ -9591,6 +9712,7 @@ "documents.write" ], "platforms": [ + "console", "client", "server" ], @@ -9744,6 +9866,7 @@ "documents.read" ], "platforms": [ + "console", "client", "server" ], @@ -9845,6 +9968,7 @@ "documents.write" ], "platforms": [ + "console", "client", "server" ], @@ -9990,6 +10114,7 @@ "documents.write" ], "platforms": [ + "console", "client", "server" ], @@ -10098,6 +10223,7 @@ "documents.write" ], "platforms": [ + "console", "client", "server" ], @@ -10432,6 +10558,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server" ], @@ -10516,6 +10643,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server" ], @@ -10606,6 +10734,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server" ], @@ -10668,6 +10797,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server" ], @@ -10743,6 +10873,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server" ], @@ -10805,6 +10936,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server" ], @@ -10897,6 +11029,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server" ], @@ -11017,6 +11150,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server" ], @@ -11087,6 +11221,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server" ], @@ -11180,6 +11315,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server" ], @@ -11252,6 +11388,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "public", "platforms": [ + "console", "client", "server" ], @@ -11347,6 +11484,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server" ], @@ -11409,6 +11547,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server" ], diff --git a/app/config/specs/swagger2-1.8.x-console.json b/app/config/specs/swagger2-1.8.x-console.json index 8bca9aa3d8..d846b05dff 100644 --- a/app/config/specs/swagger2-1.8.x-console.json +++ b/app/config/specs/swagger2-1.8.x-console.json @@ -110,6 +110,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -161,8 +162,9 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -172,7 +174,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "JWT": [] } ], "parameters": [ @@ -297,6 +300,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -375,6 +379,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -446,6 +451,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -509,8 +515,9 @@ "rate-key": "url:{url},userId:{userId}", "scope": "account", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -520,7 +527,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "JWT": [] } ] } @@ -559,6 +567,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -635,6 +644,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -708,6 +718,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -830,6 +841,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -969,6 +981,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1091,8 +1104,9 @@ "rate-key": "url:{url},userId:{userId}", "scope": "account", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": false, @@ -1158,7 +1172,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "JWT": [] } ], "parameters": [ @@ -1225,6 +1240,7 @@ "rate-key": "url:{url},challengeId:{param-challengeId}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1363,6 +1379,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1462,6 +1479,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1561,6 +1579,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1660,6 +1679,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1761,6 +1781,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1834,6 +1855,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1913,6 +1935,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1991,6 +2014,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2042,6 +2066,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2118,6 +2143,7 @@ ], "scope": "sessions.write", "platforms": [ + "console", "client", "server" ], @@ -2196,6 +2222,7 @@ "rate-key": "url:{url},userId:{param-userId}", "scope": "sessions.write", "platforms": [ + "console", "client", "server" ], @@ -2281,6 +2308,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2327,6 +2355,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2380,8 +2409,9 @@ "rate-key": "ip:{ip}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2391,7 +2421,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "JWT": [] } ] } @@ -2432,8 +2463,9 @@ "rate-key": "url:{url},email:{param-email}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2443,7 +2475,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "JWT": [] } ], "parameters": [ @@ -2511,8 +2544,9 @@ "rate-key": "ip:{ip},userId:{param-userId}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2526,7 +2560,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "JWT": [] } ], "parameters": [ @@ -2589,8 +2624,9 @@ "rate-key": "ip:{ip}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2600,7 +2636,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "JWT": [] } ], "parameters": [ @@ -2727,8 +2764,9 @@ "rate-key": "ip:{ip},userId:{param-userId}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2742,7 +2780,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "JWT": [] } ], "parameters": [ @@ -2810,8 +2849,9 @@ "rate-key": "ip:{ip},userId:{param-userId}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2821,7 +2861,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "JWT": [] } ], "parameters": [ @@ -2887,6 +2928,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2948,6 +2990,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -3004,6 +3047,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -3067,6 +3111,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -3120,6 +3165,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "targets.write", "platforms": [ + "console", "client" ], "packaging": false, @@ -3204,6 +3250,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "targets.write", "platforms": [ + "console", "client" ], "packaging": false, @@ -3276,6 +3323,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "targets.write", "platforms": [ + "console", "client" ], "packaging": false, @@ -3340,8 +3388,9 @@ ], "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -3351,7 +3400,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "JWT": [] } ], "parameters": [ @@ -3428,8 +3478,9 @@ ], "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -3439,7 +3490,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "JWT": [] } ], "parameters": [ @@ -3514,8 +3566,9 @@ "rate-key": "ip:{ip}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -3525,7 +3578,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "JWT": [] } ], "parameters": [ @@ -3655,8 +3709,9 @@ ], "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -3666,7 +3721,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "JWT": [] } ], "parameters": [ @@ -3734,6 +3790,7 @@ "rate-key": "url:{url},userId:{userId}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -3857,6 +3914,7 @@ "rate-key": "url:{url},userId:{param-userId}", "scope": "public", "platforms": [ + "console", "client", "server" ], @@ -3996,6 +4054,7 @@ ], "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -4047,6 +4106,7 @@ "rate-key": "userId:{param-userId}", "scope": "public", "platforms": [ + "console", "client", "server" ], @@ -4125,6 +4185,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server" ], @@ -4250,6 +4311,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server" ], @@ -4381,6 +4443,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server" ], @@ -4444,6 +4507,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server" ], @@ -4931,6 +4995,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server" ], @@ -5014,6 +5079,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server" ], @@ -5105,6 +5171,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server" ], @@ -5196,6 +5263,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server" ], @@ -6095,6 +6163,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -6210,6 +6279,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -6329,6 +6399,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "rows.read", "platforms": [ + "console", "server", "client" ], @@ -6395,6 +6466,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.write", "platforms": [ + "console", "server", "client" ], @@ -6464,6 +6536,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "rows.read", "platforms": [ + "console", "server", "client" ], @@ -6526,6 +6599,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.write", "platforms": [ + "console", "server", "client" ], @@ -6604,6 +6678,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.write", "platforms": [ + "console", "server", "client" ], @@ -6668,6 +6743,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.write", "platforms": [ + "console", "server", "client" ], @@ -6850,6 +6926,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -6943,6 +7020,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7058,6 +7136,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7150,6 +7229,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -7244,6 +7324,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7373,6 +7454,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -7445,6 +7527,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7552,6 +7635,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7624,6 +7708,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -7719,6 +7804,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7831,6 +7917,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7945,6 +8032,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8057,6 +8145,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8171,6 +8260,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8283,6 +8373,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8397,6 +8488,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8519,6 +8611,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8643,6 +8736,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8769,6 +8863,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8897,6 +8992,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9023,6 +9119,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9151,6 +9248,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9263,6 +9361,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9377,6 +9476,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9483,6 +9583,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9596,6 +9697,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9702,6 +9804,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9815,6 +9918,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9921,6 +10025,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -10034,6 +10139,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -10174,6 +10280,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -10299,6 +10406,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -10420,6 +10528,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -10532,6 +10641,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -10675,6 +10785,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -10749,6 +10860,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -10830,6 +10942,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -10939,6 +11052,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.read", "platforms": [ + "console", "client", "server" ], @@ -11042,6 +11156,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "documents.write", "platforms": [ + "console", "client", "server" ], @@ -11569,6 +11684,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.read", "platforms": [ + "console", "client", "server" ], @@ -11671,6 +11787,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "documents.write", "platforms": [ + "console", "client", "server" ], @@ -11825,6 +11942,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "documents.write", "platforms": [ + "console", "client", "server" ], @@ -11934,6 +12052,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "documents.write", "platforms": [ + "console", "client", "server" ], @@ -12365,6 +12484,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -12458,6 +12578,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -12597,6 +12718,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -12671,6 +12793,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -13142,6 +13265,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -13224,6 +13348,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -13537,6 +13662,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "public", "platforms": [ + "console", "server" ], "packaging": false, @@ -13953,6 +14079,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -14013,6 +14140,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -14322,6 +14450,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -14384,6 +14513,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -14462,6 +14592,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -14552,6 +14683,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": true, @@ -14645,6 +14777,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -14731,6 +14864,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -14852,6 +14986,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -14949,6 +15084,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15012,6 +15148,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -15080,6 +15217,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15166,6 +15304,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -15234,6 +15373,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "execution.read", "platforms": [ + "console", "client", "server" ], @@ -15317,6 +15457,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "execution.write", "platforms": [ + "console", "client", "server" ], @@ -15436,6 +15577,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "execution.read", "platforms": [ + "console", "client", "server" ], @@ -15501,6 +15643,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "execution.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -15648,6 +15791,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15708,6 +15852,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -15799,6 +15944,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15867,6 +16013,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -15962,6 +16109,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -16032,6 +16180,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "graphql", "platforms": [ + "console", "server", "client" ], @@ -16106,6 +16255,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "graphql", "platforms": [ + "console", "server", "client" ], @@ -16178,6 +16328,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16228,6 +16379,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16278,6 +16430,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16328,6 +16481,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16387,6 +16541,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16437,6 +16592,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16487,6 +16643,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16548,6 +16705,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16609,6 +16767,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16679,6 +16838,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16740,6 +16900,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16825,6 +16986,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16886,6 +17048,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16947,6 +17110,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -17008,6 +17172,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -17069,6 +17234,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -17130,6 +17296,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -17191,6 +17358,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -17252,6 +17420,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -17313,6 +17482,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -17363,6 +17533,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -17413,6 +17584,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -17463,6 +17635,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server" ], @@ -17515,6 +17688,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server" ], @@ -17567,6 +17741,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server" ], @@ -17619,6 +17794,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server" ], @@ -17671,6 +17847,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server" ], @@ -17723,6 +17900,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server" ], @@ -17775,6 +17953,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server" ], @@ -17827,6 +18006,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server" ], @@ -31915,6 +32095,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -31997,6 +32178,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -32268,6 +32450,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "public", "platforms": [ + "console", "server" ], "packaging": false, @@ -32623,6 +32806,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -32683,6 +32867,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -32949,6 +33134,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -33011,6 +33197,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -33089,6 +33276,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -33179,6 +33367,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": true, @@ -33280,6 +33469,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -33360,6 +33550,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -33481,6 +33672,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -33579,6 +33771,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -33642,6 +33835,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -33710,6 +33904,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -33796,6 +33991,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -33864,6 +34060,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "log.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -33945,6 +34142,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "log.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -34010,6 +34208,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "log.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34157,6 +34356,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -34217,6 +34417,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34308,6 +34509,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -34376,6 +34578,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34471,6 +34674,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34539,6 +34743,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "buckets.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -34621,6 +34826,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "buckets.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34766,6 +34972,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "buckets.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -34826,6 +35033,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "buckets.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34967,6 +35175,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "buckets.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -35027,6 +35236,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server" ], @@ -35119,6 +35329,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId},chunkId:{chunkId}", "scope": "files.write", "platforms": [ + "console", "client", "server" ], @@ -35209,6 +35420,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server" ], @@ -35279,6 +35491,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "files.write", "platforms": [ + "console", "client", "server" ], @@ -35370,6 +35583,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "files.write", "platforms": [ + "console", "client", "server" ], @@ -35440,6 +35654,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server" ], @@ -35519,6 +35734,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server" ], @@ -35726,6 +35942,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server" ], @@ -35955,6 +36172,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -36037,6 +36255,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -36123,6 +36342,7 @@ "rows.read" ], "platforms": [ + "console", "server", "client" ], @@ -36192,6 +36412,7 @@ "rows.write" ], "platforms": [ + "console", "server", "client" ], @@ -36264,6 +36485,7 @@ "rows.read" ], "platforms": [ + "console", "server", "client" ], @@ -36329,6 +36551,7 @@ "rows.write" ], "platforms": [ + "console", "server", "client" ], @@ -36410,6 +36633,7 @@ "rows.write" ], "platforms": [ + "console", "server", "client" ], @@ -36477,6 +36701,7 @@ "rows.write" ], "platforms": [ + "console", "server", "client" ], @@ -36654,6 +36879,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -36714,6 +36940,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -36793,6 +37020,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -36856,6 +37084,7 @@ "collections.read" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -36949,6 +37178,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -37077,6 +37307,7 @@ "collections.read" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -37148,6 +37379,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -37254,6 +37486,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -37325,6 +37558,7 @@ "collections.read" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -37419,6 +37653,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -37530,6 +37765,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -37643,6 +37879,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -37754,6 +37991,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -37867,6 +38105,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -37978,6 +38217,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -38091,6 +38331,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -38212,6 +38453,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -38335,6 +38577,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -38460,6 +38703,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -38587,6 +38831,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -38712,6 +38957,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -38839,6 +39085,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -38950,6 +39197,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -39063,6 +39311,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -39168,6 +39417,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -39280,6 +39530,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -39385,6 +39636,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -39497,6 +39749,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -39602,6 +39855,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -39714,6 +39968,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -39853,6 +40108,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -39977,6 +40233,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -40097,6 +40354,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -40208,6 +40466,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -40350,6 +40609,7 @@ "collections.read" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -40423,6 +40683,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -40503,6 +40764,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -40611,6 +40873,7 @@ "collections.read" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -40703,6 +40966,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -40841,6 +41105,7 @@ "collections.read" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -40914,6 +41179,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -41074,6 +41340,7 @@ "documents.read" ], "platforms": [ + "console", "client", "server" ], @@ -41176,6 +41443,7 @@ "documents.write" ], "platforms": [ + "console", "client", "server" ], @@ -41687,6 +41955,7 @@ "documents.read" ], "platforms": [ + "console", "client", "server" ], @@ -41788,6 +42057,7 @@ "documents.write" ], "platforms": [ + "console", "client", "server" ], @@ -41933,6 +42203,7 @@ "documents.write" ], "platforms": [ + "console", "client", "server" ], @@ -42041,6 +42312,7 @@ "documents.write" ], "platforms": [ + "console", "client", "server" ], @@ -42663,6 +42935,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server" ], @@ -42747,6 +43020,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server" ], @@ -42837,6 +43111,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server" ], @@ -42899,6 +43174,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server" ], @@ -42974,6 +43250,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server" ], @@ -43116,6 +43393,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server" ], @@ -43208,6 +43486,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server" ], @@ -43328,6 +43607,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server" ], @@ -43398,6 +43678,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server" ], @@ -43491,6 +43772,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server" ], @@ -43563,6 +43845,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "public", "platforms": [ + "console", "client", "server" ], @@ -43657,6 +43940,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server" ], @@ -43718,6 +44002,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server" ], @@ -44166,6 +44451,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -44248,6 +44534,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -44346,6 +44633,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -44438,6 +44726,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -44528,6 +44817,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -44607,6 +44897,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -44669,6 +44960,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -44761,6 +45053,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -44853,6 +45146,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -44980,6 +45274,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -45093,6 +45388,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -45275,6 +45571,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -45330,6 +45627,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -45392,6 +45690,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -45472,6 +45771,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -45555,6 +45855,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -45636,6 +45937,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -45717,6 +46019,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -45809,6 +46112,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -45944,6 +46248,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -46075,6 +46380,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -46191,6 +46497,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -46307,6 +46614,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -46423,6 +46731,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -46541,6 +46850,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -46621,6 +46931,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -46701,6 +47012,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -46779,6 +47091,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -46839,6 +47152,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -46917,6 +47231,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -46986,6 +47301,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -47041,6 +47357,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -47098,6 +47415,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -47168,6 +47486,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -47671,6 +47990,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -47754,6 +48074,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -47834,6 +48155,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, diff --git a/app/config/specs/swagger2-1.8.x-server.json b/app/config/specs/swagger2-1.8.x-server.json index d800d8bb6e..c7b981df48 100644 --- a/app/config/specs/swagger2-1.8.x-server.json +++ b/app/config/specs/swagger2-1.8.x-server.json @@ -113,6 +113,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -166,18 +167,22 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, "auth": { - "Project": [] + "Project": [], + "Session": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "parameters": [ @@ -258,6 +263,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -338,6 +344,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -411,6 +418,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -476,18 +484,22 @@ "rate-key": "url:{url},userId:{userId}", "scope": "account", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, "auth": { - "Project": [] + "Project": [], + "Session": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ] } @@ -526,6 +538,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -604,6 +617,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -679,6 +693,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -805,6 +820,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -948,6 +964,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1074,8 +1091,9 @@ "rate-key": "url:{url},userId:{userId}", "scope": "account", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": false, @@ -1089,7 +1107,8 @@ "namespace": "account", "desc": "", "auth": { - "Project": [] + "Project": [], + "Session": [] }, "parameters": [ "factor" @@ -1116,7 +1135,8 @@ "namespace": "account", "desc": "", "auth": { - "Project": [] + "Project": [], + "Session": [] }, "parameters": [ "factor" @@ -1136,12 +1156,15 @@ } ], "auth": { - "Project": [] + "Project": [], + "Session": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "parameters": [ @@ -1208,6 +1231,7 @@ "rate-key": "url:{url},challengeId:{param-challengeId}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1350,6 +1374,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1453,6 +1478,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1556,6 +1582,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1659,6 +1686,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1764,6 +1792,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1839,6 +1868,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1920,6 +1950,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2000,6 +2031,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2053,6 +2085,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2131,6 +2164,7 @@ ], "scope": "sessions.write", "platforms": [ + "console", "client", "server" ], @@ -2211,6 +2245,7 @@ "rate-key": "url:{url},userId:{param-userId}", "scope": "sessions.write", "platforms": [ + "console", "client", "server" ], @@ -2298,6 +2333,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2346,6 +2382,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2401,18 +2438,22 @@ "rate-key": "ip:{ip}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, "auth": { - "Project": [] + "Project": [], + "Session": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ] } @@ -2453,18 +2494,22 @@ "rate-key": "url:{url},email:{param-email}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, "auth": { - "Project": [] + "Project": [], + "Session": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "parameters": [ @@ -2532,8 +2577,9 @@ "rate-key": "ip:{ip},userId:{param-userId}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2542,12 +2588,15 @@ "replaceWith": "account.createSession" }, "auth": { - "Project": [] + "Project": [], + "Session": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "parameters": [ @@ -2615,8 +2664,9 @@ "rate-key": "ip:{ip},userId:{param-userId}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2625,12 +2675,15 @@ "replaceWith": "account.createSession" }, "auth": { - "Project": [] + "Project": [], + "Session": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "parameters": [ @@ -2698,18 +2751,22 @@ "rate-key": "ip:{ip},userId:{param-userId}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, "auth": { - "Project": [] + "Project": [], + "Session": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "parameters": [ @@ -2775,6 +2832,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2838,6 +2896,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2896,6 +2955,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2961,6 +3021,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -3019,18 +3080,22 @@ ], "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, "auth": { - "Project": [] + "Project": [], + "Session": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "parameters": [ @@ -3107,18 +3172,22 @@ ], "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, "auth": { - "Project": [] + "Project": [], + "Session": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "parameters": [ @@ -3193,18 +3262,22 @@ "rate-key": "ip:{ip}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, "auth": { - "Project": [] + "Project": [], + "Session": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "parameters": [ @@ -3334,18 +3407,22 @@ ], "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, "auth": { - "Project": [] + "Project": [], + "Session": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "parameters": [ @@ -3413,6 +3490,7 @@ "rate-key": "url:{url},userId:{userId}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -3540,6 +3618,7 @@ "rate-key": "url:{url},userId:{param-userId}", "scope": "public", "platforms": [ + "console", "client", "server" ], @@ -3683,6 +3762,7 @@ ], "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -3736,6 +3816,7 @@ "rate-key": "userId:{param-userId}", "scope": "public", "platforms": [ + "console", "client", "server" ], @@ -3816,6 +3897,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server" ], @@ -3943,6 +4025,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server" ], @@ -4076,6 +4159,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server" ], @@ -4141,6 +4225,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server" ], @@ -4630,6 +4715,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server" ], @@ -4715,6 +4801,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server" ], @@ -4808,6 +4895,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server" ], @@ -4901,6 +4989,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server" ], @@ -5615,6 +5704,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -5732,6 +5822,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -5853,6 +5944,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "rows.read", "platforms": [ + "console", "server", "client" ], @@ -5921,6 +6013,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.write", "platforms": [ + "console", "server", "client" ], @@ -5992,6 +6085,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "rows.read", "platforms": [ + "console", "server", "client" ], @@ -6056,6 +6150,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.write", "platforms": [ + "console", "server", "client" ], @@ -6136,6 +6231,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.write", "platforms": [ + "console", "server", "client" ], @@ -6202,6 +6298,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.write", "platforms": [ + "console", "server", "client" ], @@ -6284,6 +6381,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -6379,6 +6477,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -6496,6 +6595,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -6590,6 +6690,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -6685,6 +6786,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -6815,6 +6917,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -6888,6 +6991,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -6996,6 +7100,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7069,6 +7174,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -7165,6 +7271,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7278,6 +7385,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7393,6 +7501,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7506,6 +7615,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7621,6 +7731,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7734,6 +7845,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7849,6 +7961,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7972,6 +8085,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8097,6 +8211,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8224,6 +8339,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8353,6 +8469,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8480,6 +8597,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8609,6 +8727,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8722,6 +8841,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8837,6 +8957,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8944,6 +9065,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9058,6 +9180,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9165,6 +9288,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9279,6 +9403,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9386,6 +9511,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9500,6 +9626,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9641,6 +9768,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9767,6 +9895,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9889,6 +10018,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -10002,6 +10132,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -10146,6 +10277,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -10221,6 +10353,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -10303,6 +10436,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -10413,6 +10547,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.read", "platforms": [ + "console", "client", "server" ], @@ -10518,6 +10653,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "documents.write", "platforms": [ + "console", "client", "server" ], @@ -11053,6 +11189,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.read", "platforms": [ + "console", "client", "server" ], @@ -11157,6 +11294,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "documents.write", "platforms": [ + "console", "client", "server" ], @@ -11314,6 +11452,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "documents.write", "platforms": [ + "console", "client", "server" ], @@ -11425,6 +11564,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "documents.write", "platforms": [ + "console", "client", "server" ], @@ -11771,6 +11911,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -11865,6 +12006,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -12005,6 +12147,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -12080,6 +12223,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -12160,6 +12304,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -12243,6 +12388,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -12557,6 +12703,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "public", "platforms": [ + "console", "server" ], "packaging": false, @@ -12660,6 +12807,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -12721,6 +12869,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -13031,6 +13180,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -13094,6 +13244,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -13173,6 +13324,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -13264,6 +13416,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": true, @@ -13358,6 +13511,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -13445,6 +13599,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -13567,6 +13722,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -13665,6 +13821,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -13729,6 +13886,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -13798,6 +13956,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -13885,6 +14044,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -13954,6 +14114,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "execution.read", "platforms": [ + "console", "client", "server" ], @@ -14039,6 +14200,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "execution.write", "platforms": [ + "console", "client", "server" ], @@ -14160,6 +14322,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "execution.read", "platforms": [ + "console", "client", "server" ], @@ -14227,6 +14390,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "execution.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -14296,6 +14460,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -14357,6 +14522,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -14449,6 +14615,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -14518,6 +14685,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -14614,6 +14782,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -14685,6 +14854,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "graphql", "platforms": [ + "console", "server", "client" ], @@ -14761,6 +14931,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "graphql", "platforms": [ + "console", "server", "client" ], @@ -14835,6 +15006,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -14886,6 +15058,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -14937,6 +15110,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -14988,6 +15162,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15048,6 +15223,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15099,6 +15275,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15150,6 +15327,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15212,6 +15390,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15274,6 +15453,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15345,6 +15525,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15407,6 +15588,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15493,6 +15675,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15555,6 +15738,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15617,6 +15801,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15679,6 +15864,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15741,6 +15927,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15803,6 +15990,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15865,6 +16053,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15927,6 +16116,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15989,6 +16179,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16040,6 +16231,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16091,6 +16283,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16142,6 +16335,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server" ], @@ -16196,6 +16390,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server" ], @@ -16250,6 +16445,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server" ], @@ -16304,6 +16500,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server" ], @@ -16358,6 +16555,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server" ], @@ -16412,6 +16610,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server" ], @@ -16466,6 +16665,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server" ], @@ -16520,6 +16720,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server" ], @@ -22197,6 +22398,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -22280,6 +22482,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -22552,6 +22755,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "public", "platforms": [ + "console", "server" ], "packaging": false, @@ -22655,6 +22859,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -22716,6 +22921,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -22983,6 +23189,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -23046,6 +23253,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -23125,6 +23333,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -23216,6 +23425,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": true, @@ -23318,6 +23528,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -23399,6 +23610,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -23521,6 +23733,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -23620,6 +23833,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -23684,6 +23898,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -23753,6 +23968,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -23840,6 +24056,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -23909,6 +24126,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "log.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -23991,6 +24209,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "log.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -24057,6 +24276,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "log.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -24126,6 +24346,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -24187,6 +24408,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -24279,6 +24501,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -24348,6 +24571,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -24444,6 +24668,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -24513,6 +24738,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "buckets.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -24596,6 +24822,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "buckets.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -24742,6 +24969,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "buckets.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -24803,6 +25031,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "buckets.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -24945,6 +25174,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "buckets.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -25006,6 +25236,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server" ], @@ -25100,6 +25331,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId},chunkId:{chunkId}", "scope": "files.write", "platforms": [ + "console", "client", "server" ], @@ -25192,6 +25424,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server" ], @@ -25264,6 +25497,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "files.write", "platforms": [ + "console", "client", "server" ], @@ -25357,6 +25591,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "files.write", "platforms": [ + "console", "client", "server" ], @@ -25429,6 +25664,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server" ], @@ -25510,6 +25746,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server" ], @@ -25719,6 +25956,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server" ], @@ -25800,6 +26038,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -25883,6 +26122,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -25970,6 +26210,7 @@ "rows.read" ], "platforms": [ + "console", "server", "client" ], @@ -26041,6 +26282,7 @@ "rows.write" ], "platforms": [ + "console", "server", "client" ], @@ -26115,6 +26357,7 @@ "rows.read" ], "platforms": [ + "console", "server", "client" ], @@ -26182,6 +26425,7 @@ "rows.write" ], "platforms": [ + "console", "server", "client" ], @@ -26265,6 +26509,7 @@ "rows.write" ], "platforms": [ + "console", "server", "client" ], @@ -26334,6 +26579,7 @@ "rows.write" ], "platforms": [ + "console", "server", "client" ], @@ -26416,6 +26662,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -26477,6 +26724,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -26557,6 +26805,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -26621,6 +26870,7 @@ "collections.read" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -26715,6 +26965,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -26844,6 +27095,7 @@ "collections.read" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -26916,6 +27168,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -27023,6 +27276,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -27095,6 +27349,7 @@ "collections.read" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -27190,6 +27445,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -27302,6 +27558,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -27416,6 +27673,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -27528,6 +27786,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -27642,6 +27901,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -27754,6 +28014,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -27868,6 +28129,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -27990,6 +28252,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -28114,6 +28377,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -28240,6 +28504,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -28368,6 +28633,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -28494,6 +28760,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -28622,6 +28889,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -28734,6 +29002,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -28848,6 +29117,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -28954,6 +29224,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -29067,6 +29338,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -29173,6 +29445,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -29286,6 +29559,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -29392,6 +29666,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -29505,6 +29780,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -29645,6 +29921,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -29770,6 +30047,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -29891,6 +30169,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -30003,6 +30282,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -30146,6 +30426,7 @@ "collections.read" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -30220,6 +30501,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -30301,6 +30583,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -30410,6 +30693,7 @@ "collections.read" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -30503,6 +30787,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -30642,6 +30927,7 @@ "collections.read" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -30716,6 +31002,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -30795,6 +31082,7 @@ "documents.read" ], "platforms": [ + "console", "client", "server" ], @@ -30899,6 +31187,7 @@ "documents.write" ], "platforms": [ + "console", "client", "server" ], @@ -31418,6 +31707,7 @@ "documents.read" ], "platforms": [ + "console", "client", "server" ], @@ -31521,6 +31811,7 @@ "documents.write" ], "platforms": [ + "console", "client", "server" ], @@ -31669,6 +31960,7 @@ "documents.write" ], "platforms": [ + "console", "client", "server" ], @@ -31779,6 +32071,7 @@ "documents.write" ], "platforms": [ + "console", "client", "server" ], @@ -32119,6 +32412,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server" ], @@ -32205,6 +32499,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server" ], @@ -32297,6 +32592,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server" ], @@ -32361,6 +32657,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server" ], @@ -32438,6 +32735,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server" ], @@ -32502,6 +32800,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server" ], @@ -32596,6 +32895,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server" ], @@ -32718,6 +33018,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server" ], @@ -32790,6 +33091,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server" ], @@ -32885,6 +33187,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server" ], @@ -32959,6 +33262,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "public", "platforms": [ + "console", "client", "server" ], @@ -33055,6 +33359,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server" ], @@ -33118,6 +33423,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server" ], @@ -33573,6 +33879,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -33656,6 +33963,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -33755,6 +34063,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -33848,6 +34157,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -33939,6 +34249,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -34019,6 +34330,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34082,6 +34394,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34175,6 +34488,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34268,6 +34582,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34396,6 +34711,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34510,6 +34826,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34622,6 +34939,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -34678,6 +34996,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34741,6 +35060,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34822,6 +35142,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34906,6 +35227,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34988,6 +35310,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -35070,6 +35393,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -35163,6 +35487,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -35301,6 +35626,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -35435,6 +35761,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -35554,6 +35881,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -35673,6 +36001,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -35792,6 +36121,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -35913,6 +36243,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -35994,6 +36325,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -36075,6 +36407,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -36154,6 +36487,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -36215,6 +36549,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -36294,6 +36629,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -36364,6 +36700,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -36420,6 +36757,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -36478,6 +36816,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -36549,6 +36888,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -37058,6 +37398,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -37142,6 +37483,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -37223,6 +37565,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, diff --git a/app/config/specs/swagger2-latest-client.json b/app/config/specs/swagger2-latest-client.json index e3d69b55ce..823c0ea134 100644 --- a/app/config/specs/swagger2-latest-client.json +++ b/app/config/specs/swagger2-latest-client.json @@ -104,6 +104,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -156,8 +157,9 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -167,7 +169,9 @@ }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "parameters": [ @@ -248,6 +252,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -327,6 +332,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -399,6 +405,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -463,8 +470,9 @@ "rate-key": "url:{url},userId:{userId}", "scope": "account", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -474,7 +482,9 @@ }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ] } @@ -513,6 +523,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -590,6 +601,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -664,6 +676,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -787,6 +800,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -927,6 +941,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1050,8 +1065,9 @@ "rate-key": "url:{url},userId:{userId}", "scope": "account", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": false, @@ -1117,7 +1133,9 @@ }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "parameters": [ @@ -1184,6 +1202,7 @@ "rate-key": "url:{url},challengeId:{param-challengeId}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1323,6 +1342,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1423,6 +1443,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1523,6 +1544,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1623,6 +1645,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1725,6 +1748,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1799,6 +1823,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1879,6 +1904,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1958,6 +1984,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2010,6 +2037,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2087,6 +2115,7 @@ ], "scope": "sessions.write", "platforms": [ + "console", "client", "server" ], @@ -2166,6 +2195,7 @@ "rate-key": "url:{url},userId:{param-userId}", "scope": "sessions.write", "platforms": [ + "console", "client", "server" ], @@ -2252,6 +2282,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2299,6 +2330,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2353,8 +2385,9 @@ "rate-key": "ip:{ip}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2364,7 +2397,9 @@ }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ] } @@ -2405,8 +2440,9 @@ "rate-key": "url:{url},email:{param-email}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2416,7 +2452,9 @@ }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "parameters": [ @@ -2484,8 +2522,9 @@ "rate-key": "ip:{ip},userId:{param-userId}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2499,7 +2538,9 @@ }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "parameters": [ @@ -2562,8 +2603,9 @@ "rate-key": "ip:{ip}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2573,7 +2615,9 @@ }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "parameters": [ @@ -2700,8 +2744,9 @@ "rate-key": "ip:{ip},userId:{param-userId}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2715,7 +2760,9 @@ }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "parameters": [ @@ -2783,8 +2830,9 @@ "rate-key": "ip:{ip},userId:{param-userId}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2794,7 +2842,9 @@ }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "parameters": [ @@ -2860,6 +2910,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2922,6 +2973,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2979,6 +3031,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -3043,6 +3096,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -3097,6 +3151,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "targets.write", "platforms": [ + "console", "client" ], "packaging": false, @@ -3182,6 +3237,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "targets.write", "platforms": [ + "console", "client" ], "packaging": false, @@ -3255,6 +3311,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "targets.write", "platforms": [ + "console", "client" ], "packaging": false, @@ -3320,8 +3377,9 @@ ], "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -3331,7 +3389,9 @@ }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "parameters": [ @@ -3408,8 +3468,9 @@ ], "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -3419,7 +3480,9 @@ }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "parameters": [ @@ -3494,8 +3557,9 @@ "rate-key": "ip:{ip}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -3505,7 +3569,9 @@ }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "parameters": [ @@ -3635,8 +3701,9 @@ ], "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -3646,7 +3713,9 @@ }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "parameters": [ @@ -3714,6 +3783,7 @@ "rate-key": "url:{url},userId:{userId}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -3838,6 +3908,7 @@ "rate-key": "url:{url},userId:{param-userId}", "scope": "public", "platforms": [ + "console", "client", "server" ], @@ -3978,6 +4049,7 @@ ], "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -4030,6 +4102,7 @@ "rate-key": "userId:{param-userId}", "scope": "public", "platforms": [ + "console", "client", "server" ], @@ -4109,6 +4182,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server" ], @@ -4234,6 +4308,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server" ], @@ -4365,6 +4440,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server" ], @@ -4428,6 +4504,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server" ], @@ -4915,6 +4992,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server" ], @@ -4998,6 +5076,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server" ], @@ -5089,6 +5168,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server" ], @@ -5180,6 +5260,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server" ], @@ -5892,6 +5973,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "rows.read", "platforms": [ + "console", "server", "client" ], @@ -5958,6 +6040,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.write", "platforms": [ + "console", "server", "client" ], @@ -6027,6 +6110,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "rows.read", "platforms": [ + "console", "server", "client" ], @@ -6089,6 +6173,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.write", "platforms": [ + "console", "server", "client" ], @@ -6167,6 +6252,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.write", "platforms": [ + "console", "server", "client" ], @@ -6231,6 +6317,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.write", "platforms": [ + "console", "server", "client" ], @@ -6311,6 +6398,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.read", "platforms": [ + "console", "client", "server" ], @@ -6414,6 +6502,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "documents.write", "platforms": [ + "console", "client", "server" ], @@ -6572,6 +6661,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.read", "platforms": [ + "console", "client", "server" ], @@ -6674,6 +6764,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "documents.write", "platforms": [ + "console", "client", "server" ], @@ -6828,6 +6919,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "documents.write", "platforms": [ + "console", "client", "server" ], @@ -6937,6 +7029,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "documents.write", "platforms": [ + "console", "client", "server" ], @@ -7277,6 +7370,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "execution.read", "platforms": [ + "console", "client", "server" ], @@ -7360,6 +7454,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "execution.write", "platforms": [ + "console", "client", "server" ], @@ -7479,6 +7574,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "execution.read", "platforms": [ + "console", "client", "server" ], @@ -7551,6 +7647,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "graphql", "platforms": [ + "console", "server", "client" ], @@ -7625,6 +7722,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "graphql", "platforms": [ + "console", "server", "client" ], @@ -7697,6 +7795,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server" ], @@ -7749,6 +7848,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server" ], @@ -7801,6 +7901,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server" ], @@ -7853,6 +7954,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server" ], @@ -7905,6 +8007,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server" ], @@ -7957,6 +8060,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server" ], @@ -8009,6 +8113,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server" ], @@ -8061,6 +8166,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server" ], @@ -8271,6 +8377,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server" ], @@ -8363,6 +8470,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId},chunkId:{chunkId}", "scope": "files.write", "platforms": [ + "console", "client", "server" ], @@ -8453,6 +8561,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server" ], @@ -8523,6 +8632,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "files.write", "platforms": [ + "console", "client", "server" ], @@ -8614,6 +8724,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "files.write", "platforms": [ + "console", "client", "server" ], @@ -8684,6 +8795,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server" ], @@ -8763,6 +8875,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server" ], @@ -8970,6 +9083,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server" ], @@ -9052,6 +9166,7 @@ "rows.read" ], "platforms": [ + "console", "server", "client" ], @@ -9121,6 +9236,7 @@ "rows.write" ], "platforms": [ + "console", "server", "client" ], @@ -9193,6 +9309,7 @@ "rows.read" ], "platforms": [ + "console", "server", "client" ], @@ -9258,6 +9375,7 @@ "rows.write" ], "platforms": [ + "console", "server", "client" ], @@ -9339,6 +9457,7 @@ "rows.write" ], "platforms": [ + "console", "server", "client" ], @@ -9406,6 +9525,7 @@ "rows.write" ], "platforms": [ + "console", "server", "client" ], @@ -9489,6 +9609,7 @@ "documents.read" ], "platforms": [ + "console", "client", "server" ], @@ -9591,6 +9712,7 @@ "documents.write" ], "platforms": [ + "console", "client", "server" ], @@ -9744,6 +9866,7 @@ "documents.read" ], "platforms": [ + "console", "client", "server" ], @@ -9845,6 +9968,7 @@ "documents.write" ], "platforms": [ + "console", "client", "server" ], @@ -9990,6 +10114,7 @@ "documents.write" ], "platforms": [ + "console", "client", "server" ], @@ -10098,6 +10223,7 @@ "documents.write" ], "platforms": [ + "console", "client", "server" ], @@ -10432,6 +10558,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server" ], @@ -10516,6 +10643,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server" ], @@ -10606,6 +10734,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server" ], @@ -10668,6 +10797,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server" ], @@ -10743,6 +10873,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server" ], @@ -10805,6 +10936,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server" ], @@ -10897,6 +11029,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server" ], @@ -11017,6 +11150,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server" ], @@ -11087,6 +11221,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server" ], @@ -11180,6 +11315,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server" ], @@ -11252,6 +11388,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "public", "platforms": [ + "console", "client", "server" ], @@ -11347,6 +11484,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server" ], @@ -11409,6 +11547,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server" ], diff --git a/app/config/specs/swagger2-latest-console.json b/app/config/specs/swagger2-latest-console.json index 8bca9aa3d8..d846b05dff 100644 --- a/app/config/specs/swagger2-latest-console.json +++ b/app/config/specs/swagger2-latest-console.json @@ -110,6 +110,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -161,8 +162,9 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -172,7 +174,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "JWT": [] } ], "parameters": [ @@ -297,6 +300,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -375,6 +379,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -446,6 +451,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -509,8 +515,9 @@ "rate-key": "url:{url},userId:{userId}", "scope": "account", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -520,7 +527,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "JWT": [] } ] } @@ -559,6 +567,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -635,6 +644,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -708,6 +718,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -830,6 +841,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -969,6 +981,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1091,8 +1104,9 @@ "rate-key": "url:{url},userId:{userId}", "scope": "account", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": false, @@ -1158,7 +1172,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "JWT": [] } ], "parameters": [ @@ -1225,6 +1240,7 @@ "rate-key": "url:{url},challengeId:{param-challengeId}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1363,6 +1379,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1462,6 +1479,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1561,6 +1579,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1660,6 +1679,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1761,6 +1781,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1834,6 +1855,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1913,6 +1935,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1991,6 +2014,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2042,6 +2066,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2118,6 +2143,7 @@ ], "scope": "sessions.write", "platforms": [ + "console", "client", "server" ], @@ -2196,6 +2222,7 @@ "rate-key": "url:{url},userId:{param-userId}", "scope": "sessions.write", "platforms": [ + "console", "client", "server" ], @@ -2281,6 +2308,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2327,6 +2355,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2380,8 +2409,9 @@ "rate-key": "ip:{ip}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2391,7 +2421,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "JWT": [] } ] } @@ -2432,8 +2463,9 @@ "rate-key": "url:{url},email:{param-email}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2443,7 +2475,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "JWT": [] } ], "parameters": [ @@ -2511,8 +2544,9 @@ "rate-key": "ip:{ip},userId:{param-userId}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2526,7 +2560,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "JWT": [] } ], "parameters": [ @@ -2589,8 +2624,9 @@ "rate-key": "ip:{ip}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2600,7 +2636,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "JWT": [] } ], "parameters": [ @@ -2727,8 +2764,9 @@ "rate-key": "ip:{ip},userId:{param-userId}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2742,7 +2780,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "JWT": [] } ], "parameters": [ @@ -2810,8 +2849,9 @@ "rate-key": "ip:{ip},userId:{param-userId}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2821,7 +2861,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "JWT": [] } ], "parameters": [ @@ -2887,6 +2928,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2948,6 +2990,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -3004,6 +3047,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -3067,6 +3111,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -3120,6 +3165,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "targets.write", "platforms": [ + "console", "client" ], "packaging": false, @@ -3204,6 +3250,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "targets.write", "platforms": [ + "console", "client" ], "packaging": false, @@ -3276,6 +3323,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "targets.write", "platforms": [ + "console", "client" ], "packaging": false, @@ -3340,8 +3388,9 @@ ], "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -3351,7 +3400,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "JWT": [] } ], "parameters": [ @@ -3428,8 +3478,9 @@ ], "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -3439,7 +3490,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "JWT": [] } ], "parameters": [ @@ -3514,8 +3566,9 @@ "rate-key": "ip:{ip}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -3525,7 +3578,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "JWT": [] } ], "parameters": [ @@ -3655,8 +3709,9 @@ ], "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -3666,7 +3721,8 @@ }, "security": [ { - "Project": [] + "Project": [], + "JWT": [] } ], "parameters": [ @@ -3734,6 +3790,7 @@ "rate-key": "url:{url},userId:{userId}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -3857,6 +3914,7 @@ "rate-key": "url:{url},userId:{param-userId}", "scope": "public", "platforms": [ + "console", "client", "server" ], @@ -3996,6 +4054,7 @@ ], "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -4047,6 +4106,7 @@ "rate-key": "userId:{param-userId}", "scope": "public", "platforms": [ + "console", "client", "server" ], @@ -4125,6 +4185,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server" ], @@ -4250,6 +4311,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server" ], @@ -4381,6 +4443,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server" ], @@ -4444,6 +4507,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server" ], @@ -4931,6 +4995,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server" ], @@ -5014,6 +5079,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server" ], @@ -5105,6 +5171,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server" ], @@ -5196,6 +5263,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server" ], @@ -6095,6 +6163,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -6210,6 +6279,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -6329,6 +6399,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "rows.read", "platforms": [ + "console", "server", "client" ], @@ -6395,6 +6466,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.write", "platforms": [ + "console", "server", "client" ], @@ -6464,6 +6536,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "rows.read", "platforms": [ + "console", "server", "client" ], @@ -6526,6 +6599,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.write", "platforms": [ + "console", "server", "client" ], @@ -6604,6 +6678,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.write", "platforms": [ + "console", "server", "client" ], @@ -6668,6 +6743,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.write", "platforms": [ + "console", "server", "client" ], @@ -6850,6 +6926,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -6943,6 +7020,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7058,6 +7136,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7150,6 +7229,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -7244,6 +7324,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7373,6 +7454,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -7445,6 +7527,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7552,6 +7635,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7624,6 +7708,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -7719,6 +7804,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7831,6 +7917,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7945,6 +8032,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8057,6 +8145,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8171,6 +8260,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8283,6 +8373,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8397,6 +8488,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8519,6 +8611,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8643,6 +8736,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8769,6 +8863,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8897,6 +8992,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9023,6 +9119,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9151,6 +9248,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9263,6 +9361,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9377,6 +9476,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9483,6 +9583,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9596,6 +9697,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9702,6 +9804,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9815,6 +9918,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9921,6 +10025,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -10034,6 +10139,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -10174,6 +10280,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -10299,6 +10406,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -10420,6 +10528,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -10532,6 +10641,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -10675,6 +10785,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -10749,6 +10860,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -10830,6 +10942,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -10939,6 +11052,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.read", "platforms": [ + "console", "client", "server" ], @@ -11042,6 +11156,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "documents.write", "platforms": [ + "console", "client", "server" ], @@ -11569,6 +11684,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.read", "platforms": [ + "console", "client", "server" ], @@ -11671,6 +11787,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "documents.write", "platforms": [ + "console", "client", "server" ], @@ -11825,6 +11942,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "documents.write", "platforms": [ + "console", "client", "server" ], @@ -11934,6 +12052,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "documents.write", "platforms": [ + "console", "client", "server" ], @@ -12365,6 +12484,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -12458,6 +12578,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -12597,6 +12718,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -12671,6 +12793,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -13142,6 +13265,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -13224,6 +13348,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -13537,6 +13662,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "public", "platforms": [ + "console", "server" ], "packaging": false, @@ -13953,6 +14079,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -14013,6 +14140,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -14322,6 +14450,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -14384,6 +14513,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -14462,6 +14592,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -14552,6 +14683,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": true, @@ -14645,6 +14777,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -14731,6 +14864,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -14852,6 +14986,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -14949,6 +15084,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15012,6 +15148,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -15080,6 +15217,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15166,6 +15304,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -15234,6 +15373,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "execution.read", "platforms": [ + "console", "client", "server" ], @@ -15317,6 +15457,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "execution.write", "platforms": [ + "console", "client", "server" ], @@ -15436,6 +15577,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "execution.read", "platforms": [ + "console", "client", "server" ], @@ -15501,6 +15643,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "execution.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -15648,6 +15791,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15708,6 +15852,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -15799,6 +15944,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15867,6 +16013,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -15962,6 +16109,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -16032,6 +16180,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "graphql", "platforms": [ + "console", "server", "client" ], @@ -16106,6 +16255,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "graphql", "platforms": [ + "console", "server", "client" ], @@ -16178,6 +16328,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16228,6 +16379,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16278,6 +16430,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16328,6 +16481,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16387,6 +16541,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16437,6 +16592,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16487,6 +16643,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16548,6 +16705,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16609,6 +16767,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16679,6 +16838,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16740,6 +16900,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16825,6 +16986,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16886,6 +17048,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16947,6 +17110,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -17008,6 +17172,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -17069,6 +17234,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -17130,6 +17296,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -17191,6 +17358,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -17252,6 +17420,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -17313,6 +17482,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -17363,6 +17533,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -17413,6 +17584,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -17463,6 +17635,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server" ], @@ -17515,6 +17688,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server" ], @@ -17567,6 +17741,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server" ], @@ -17619,6 +17794,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server" ], @@ -17671,6 +17847,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server" ], @@ -17723,6 +17900,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server" ], @@ -17775,6 +17953,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server" ], @@ -17827,6 +18006,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server" ], @@ -31915,6 +32095,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -31997,6 +32178,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -32268,6 +32450,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "public", "platforms": [ + "console", "server" ], "packaging": false, @@ -32623,6 +32806,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -32683,6 +32867,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -32949,6 +33134,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -33011,6 +33197,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -33089,6 +33276,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -33179,6 +33367,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": true, @@ -33280,6 +33469,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -33360,6 +33550,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -33481,6 +33672,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -33579,6 +33771,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -33642,6 +33835,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -33710,6 +33904,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -33796,6 +33991,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -33864,6 +34060,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "log.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -33945,6 +34142,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "log.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -34010,6 +34208,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "log.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34157,6 +34356,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -34217,6 +34417,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34308,6 +34509,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -34376,6 +34578,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34471,6 +34674,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34539,6 +34743,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "buckets.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -34621,6 +34826,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "buckets.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34766,6 +34972,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "buckets.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -34826,6 +35033,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "buckets.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34967,6 +35175,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "buckets.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -35027,6 +35236,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server" ], @@ -35119,6 +35329,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId},chunkId:{chunkId}", "scope": "files.write", "platforms": [ + "console", "client", "server" ], @@ -35209,6 +35420,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server" ], @@ -35279,6 +35491,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "files.write", "platforms": [ + "console", "client", "server" ], @@ -35370,6 +35583,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "files.write", "platforms": [ + "console", "client", "server" ], @@ -35440,6 +35654,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server" ], @@ -35519,6 +35734,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server" ], @@ -35726,6 +35942,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server" ], @@ -35955,6 +36172,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -36037,6 +36255,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -36123,6 +36342,7 @@ "rows.read" ], "platforms": [ + "console", "server", "client" ], @@ -36192,6 +36412,7 @@ "rows.write" ], "platforms": [ + "console", "server", "client" ], @@ -36264,6 +36485,7 @@ "rows.read" ], "platforms": [ + "console", "server", "client" ], @@ -36329,6 +36551,7 @@ "rows.write" ], "platforms": [ + "console", "server", "client" ], @@ -36410,6 +36633,7 @@ "rows.write" ], "platforms": [ + "console", "server", "client" ], @@ -36477,6 +36701,7 @@ "rows.write" ], "platforms": [ + "console", "server", "client" ], @@ -36654,6 +36879,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -36714,6 +36940,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -36793,6 +37020,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -36856,6 +37084,7 @@ "collections.read" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -36949,6 +37178,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -37077,6 +37307,7 @@ "collections.read" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -37148,6 +37379,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -37254,6 +37486,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -37325,6 +37558,7 @@ "collections.read" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -37419,6 +37653,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -37530,6 +37765,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -37643,6 +37879,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -37754,6 +37991,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -37867,6 +38105,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -37978,6 +38217,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -38091,6 +38331,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -38212,6 +38453,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -38335,6 +38577,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -38460,6 +38703,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -38587,6 +38831,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -38712,6 +38957,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -38839,6 +39085,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -38950,6 +39197,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -39063,6 +39311,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -39168,6 +39417,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -39280,6 +39530,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -39385,6 +39636,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -39497,6 +39749,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -39602,6 +39855,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -39714,6 +39968,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -39853,6 +40108,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -39977,6 +40233,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -40097,6 +40354,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -40208,6 +40466,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -40350,6 +40609,7 @@ "collections.read" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -40423,6 +40683,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -40503,6 +40764,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -40611,6 +40873,7 @@ "collections.read" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -40703,6 +40966,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -40841,6 +41105,7 @@ "collections.read" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -40914,6 +41179,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -41074,6 +41340,7 @@ "documents.read" ], "platforms": [ + "console", "client", "server" ], @@ -41176,6 +41443,7 @@ "documents.write" ], "platforms": [ + "console", "client", "server" ], @@ -41687,6 +41955,7 @@ "documents.read" ], "platforms": [ + "console", "client", "server" ], @@ -41788,6 +42057,7 @@ "documents.write" ], "platforms": [ + "console", "client", "server" ], @@ -41933,6 +42203,7 @@ "documents.write" ], "platforms": [ + "console", "client", "server" ], @@ -42041,6 +42312,7 @@ "documents.write" ], "platforms": [ + "console", "client", "server" ], @@ -42663,6 +42935,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server" ], @@ -42747,6 +43020,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server" ], @@ -42837,6 +43111,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server" ], @@ -42899,6 +43174,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server" ], @@ -42974,6 +43250,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server" ], @@ -43116,6 +43393,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server" ], @@ -43208,6 +43486,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server" ], @@ -43328,6 +43607,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server" ], @@ -43398,6 +43678,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server" ], @@ -43491,6 +43772,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server" ], @@ -43563,6 +43845,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "public", "platforms": [ + "console", "client", "server" ], @@ -43657,6 +43940,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server" ], @@ -43718,6 +44002,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server" ], @@ -44166,6 +44451,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -44248,6 +44534,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -44346,6 +44633,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -44438,6 +44726,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -44528,6 +44817,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -44607,6 +44897,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -44669,6 +44960,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -44761,6 +45053,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -44853,6 +45146,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -44980,6 +45274,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -45093,6 +45388,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -45275,6 +45571,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -45330,6 +45627,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -45392,6 +45690,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -45472,6 +45771,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -45555,6 +45855,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -45636,6 +45937,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -45717,6 +46019,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -45809,6 +46112,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -45944,6 +46248,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -46075,6 +46380,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -46191,6 +46497,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -46307,6 +46614,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -46423,6 +46731,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -46541,6 +46850,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -46621,6 +46931,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -46701,6 +47012,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -46779,6 +47091,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -46839,6 +47152,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -46917,6 +47231,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -46986,6 +47301,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -47041,6 +47357,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -47098,6 +47415,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -47168,6 +47486,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -47671,6 +47990,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -47754,6 +48074,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -47834,6 +48155,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, diff --git a/app/config/specs/swagger2-latest-server.json b/app/config/specs/swagger2-latest-server.json index d800d8bb6e..c7b981df48 100644 --- a/app/config/specs/swagger2-latest-server.json +++ b/app/config/specs/swagger2-latest-server.json @@ -113,6 +113,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -166,18 +167,22 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, "auth": { - "Project": [] + "Project": [], + "Session": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "parameters": [ @@ -258,6 +263,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -338,6 +344,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -411,6 +418,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -476,18 +484,22 @@ "rate-key": "url:{url},userId:{userId}", "scope": "account", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, "auth": { - "Project": [] + "Project": [], + "Session": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ] } @@ -526,6 +538,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -604,6 +617,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -679,6 +693,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -805,6 +820,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -948,6 +964,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1074,8 +1091,9 @@ "rate-key": "url:{url},userId:{userId}", "scope": "account", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": false, @@ -1089,7 +1107,8 @@ "namespace": "account", "desc": "", "auth": { - "Project": [] + "Project": [], + "Session": [] }, "parameters": [ "factor" @@ -1116,7 +1135,8 @@ "namespace": "account", "desc": "", "auth": { - "Project": [] + "Project": [], + "Session": [] }, "parameters": [ "factor" @@ -1136,12 +1156,15 @@ } ], "auth": { - "Project": [] + "Project": [], + "Session": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "parameters": [ @@ -1208,6 +1231,7 @@ "rate-key": "url:{url},challengeId:{param-challengeId}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1350,6 +1374,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1453,6 +1478,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1556,6 +1582,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1659,6 +1686,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1764,6 +1792,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1839,6 +1868,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -1920,6 +1950,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2000,6 +2031,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2053,6 +2085,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2131,6 +2164,7 @@ ], "scope": "sessions.write", "platforms": [ + "console", "client", "server" ], @@ -2211,6 +2245,7 @@ "rate-key": "url:{url},userId:{param-userId}", "scope": "sessions.write", "platforms": [ + "console", "client", "server" ], @@ -2298,6 +2333,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2346,6 +2382,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2401,18 +2438,22 @@ "rate-key": "ip:{ip}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, "auth": { - "Project": [] + "Project": [], + "Session": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ] } @@ -2453,18 +2494,22 @@ "rate-key": "url:{url},email:{param-email}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, "auth": { - "Project": [] + "Project": [], + "Session": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "parameters": [ @@ -2532,8 +2577,9 @@ "rate-key": "ip:{ip},userId:{param-userId}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2542,12 +2588,15 @@ "replaceWith": "account.createSession" }, "auth": { - "Project": [] + "Project": [], + "Session": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "parameters": [ @@ -2615,8 +2664,9 @@ "rate-key": "ip:{ip},userId:{param-userId}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, @@ -2625,12 +2675,15 @@ "replaceWith": "account.createSession" }, "auth": { - "Project": [] + "Project": [], + "Session": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "parameters": [ @@ -2698,18 +2751,22 @@ "rate-key": "ip:{ip},userId:{param-userId}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, "auth": { - "Project": [] + "Project": [], + "Session": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "parameters": [ @@ -2775,6 +2832,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2838,6 +2896,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2896,6 +2955,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -2961,6 +3021,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -3019,18 +3080,22 @@ ], "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, "auth": { - "Project": [] + "Project": [], + "Session": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "parameters": [ @@ -3107,18 +3172,22 @@ ], "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, "auth": { - "Project": [] + "Project": [], + "Session": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "parameters": [ @@ -3193,18 +3262,22 @@ "rate-key": "ip:{ip}", "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, "auth": { - "Project": [] + "Project": [], + "Session": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "parameters": [ @@ -3334,18 +3407,22 @@ ], "scope": "sessions.write", "platforms": [ - "server", - "client" + "console", + "client", + "server" ], "packaging": false, "public": true, "auth": { - "Project": [] + "Project": [], + "Session": [] } }, "security": [ { - "Project": [] + "Project": [], + "Session": [], + "JWT": [] } ], "parameters": [ @@ -3413,6 +3490,7 @@ "rate-key": "url:{url},userId:{userId}", "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -3540,6 +3618,7 @@ "rate-key": "url:{url},userId:{param-userId}", "scope": "public", "platforms": [ + "console", "client", "server" ], @@ -3683,6 +3762,7 @@ ], "scope": "account", "platforms": [ + "console", "client", "server" ], @@ -3736,6 +3816,7 @@ "rate-key": "userId:{param-userId}", "scope": "public", "platforms": [ + "console", "client", "server" ], @@ -3816,6 +3897,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server" ], @@ -3943,6 +4025,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server" ], @@ -4076,6 +4159,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server" ], @@ -4141,6 +4225,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server" ], @@ -4630,6 +4715,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server" ], @@ -4715,6 +4801,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server" ], @@ -4808,6 +4895,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server" ], @@ -4901,6 +4989,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "avatars.read", "platforms": [ + "console", "client", "server" ], @@ -5615,6 +5704,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -5732,6 +5822,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -5853,6 +5944,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "rows.read", "platforms": [ + "console", "server", "client" ], @@ -5921,6 +6013,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.write", "platforms": [ + "console", "server", "client" ], @@ -5992,6 +6085,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "rows.read", "platforms": [ + "console", "server", "client" ], @@ -6056,6 +6150,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.write", "platforms": [ + "console", "server", "client" ], @@ -6136,6 +6231,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.write", "platforms": [ + "console", "server", "client" ], @@ -6202,6 +6298,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.write", "platforms": [ + "console", "server", "client" ], @@ -6284,6 +6381,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -6379,6 +6477,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -6496,6 +6595,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -6590,6 +6690,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -6685,6 +6786,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -6815,6 +6917,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -6888,6 +6991,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -6996,6 +7100,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7069,6 +7174,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -7165,6 +7271,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7278,6 +7385,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7393,6 +7501,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7506,6 +7615,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7621,6 +7731,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7734,6 +7845,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7849,6 +7961,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -7972,6 +8085,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8097,6 +8211,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8224,6 +8339,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8353,6 +8469,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8480,6 +8597,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8609,6 +8727,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8722,6 +8841,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8837,6 +8957,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -8944,6 +9065,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9058,6 +9180,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9165,6 +9288,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9279,6 +9403,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9386,6 +9511,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9500,6 +9626,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9641,6 +9768,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9767,6 +9895,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -9889,6 +10018,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -10002,6 +10132,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -10146,6 +10277,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -10221,6 +10353,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -10303,6 +10436,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -10413,6 +10547,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.read", "platforms": [ + "console", "client", "server" ], @@ -10518,6 +10653,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "documents.write", "platforms": [ + "console", "client", "server" ], @@ -11053,6 +11189,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "documents.read", "platforms": [ + "console", "client", "server" ], @@ -11157,6 +11294,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "documents.write", "platforms": [ + "console", "client", "server" ], @@ -11314,6 +11452,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "documents.write", "platforms": [ + "console", "client", "server" ], @@ -11425,6 +11564,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "documents.write", "platforms": [ + "console", "client", "server" ], @@ -11771,6 +11911,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -11865,6 +12006,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -12005,6 +12147,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -12080,6 +12223,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "collections.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -12160,6 +12304,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -12243,6 +12388,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -12557,6 +12703,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "public", "platforms": [ + "console", "server" ], "packaging": false, @@ -12660,6 +12807,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -12721,6 +12869,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -13031,6 +13180,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -13094,6 +13244,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -13173,6 +13324,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -13264,6 +13416,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": true, @@ -13358,6 +13511,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -13445,6 +13599,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -13567,6 +13722,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -13665,6 +13821,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -13729,6 +13886,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -13798,6 +13956,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -13885,6 +14044,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -13954,6 +14114,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "execution.read", "platforms": [ + "console", "client", "server" ], @@ -14039,6 +14200,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "execution.write", "platforms": [ + "console", "client", "server" ], @@ -14160,6 +14322,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "execution.read", "platforms": [ + "console", "client", "server" ], @@ -14227,6 +14390,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "execution.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -14296,6 +14460,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -14357,6 +14522,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -14449,6 +14615,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -14518,6 +14685,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -14614,6 +14782,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "functions.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -14685,6 +14854,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "graphql", "platforms": [ + "console", "server", "client" ], @@ -14761,6 +14931,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "graphql", "platforms": [ + "console", "server", "client" ], @@ -14835,6 +15006,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -14886,6 +15058,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -14937,6 +15110,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -14988,6 +15162,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15048,6 +15223,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15099,6 +15275,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15150,6 +15327,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15212,6 +15390,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15274,6 +15453,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15345,6 +15525,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15407,6 +15588,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15493,6 +15675,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15555,6 +15738,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15617,6 +15801,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15679,6 +15864,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15741,6 +15927,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15803,6 +15990,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15865,6 +16053,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15927,6 +16116,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -15989,6 +16179,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16040,6 +16231,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16091,6 +16283,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "health.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -16142,6 +16335,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server" ], @@ -16196,6 +16390,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server" ], @@ -16250,6 +16445,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server" ], @@ -16304,6 +16500,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server" ], @@ -16358,6 +16555,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server" ], @@ -16412,6 +16610,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server" ], @@ -16466,6 +16665,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server" ], @@ -16520,6 +16720,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "locale.read", "platforms": [ + "console", "client", "server" ], @@ -22197,6 +22398,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -22280,6 +22482,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -22552,6 +22755,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "public", "platforms": [ + "console", "server" ], "packaging": false, @@ -22655,6 +22859,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -22716,6 +22921,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -22983,6 +23189,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -23046,6 +23253,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -23125,6 +23333,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -23216,6 +23425,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": true, @@ -23318,6 +23528,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -23399,6 +23610,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -23521,6 +23733,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -23620,6 +23833,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -23684,6 +23898,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -23753,6 +23968,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -23840,6 +24056,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -23909,6 +24126,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "log.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -23991,6 +24209,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "log.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -24057,6 +24276,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "log.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -24126,6 +24346,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -24187,6 +24408,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -24279,6 +24501,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -24348,6 +24571,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -24444,6 +24668,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "sites.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -24513,6 +24738,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "buckets.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -24596,6 +24822,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "buckets.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -24742,6 +24969,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "buckets.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -24803,6 +25031,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "buckets.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -24945,6 +25174,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "buckets.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -25006,6 +25236,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server" ], @@ -25100,6 +25331,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId},chunkId:{chunkId}", "scope": "files.write", "platforms": [ + "console", "client", "server" ], @@ -25192,6 +25424,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server" ], @@ -25264,6 +25497,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "files.write", "platforms": [ + "console", "client", "server" ], @@ -25357,6 +25591,7 @@ "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", "scope": "files.write", "platforms": [ + "console", "client", "server" ], @@ -25429,6 +25664,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server" ], @@ -25510,6 +25746,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server" ], @@ -25719,6 +25956,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "files.read", "platforms": [ + "console", "client", "server" ], @@ -25800,6 +26038,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -25883,6 +26122,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -25970,6 +26210,7 @@ "rows.read" ], "platforms": [ + "console", "server", "client" ], @@ -26041,6 +26282,7 @@ "rows.write" ], "platforms": [ + "console", "server", "client" ], @@ -26115,6 +26357,7 @@ "rows.read" ], "platforms": [ + "console", "server", "client" ], @@ -26182,6 +26425,7 @@ "rows.write" ], "platforms": [ + "console", "server", "client" ], @@ -26265,6 +26509,7 @@ "rows.write" ], "platforms": [ + "console", "server", "client" ], @@ -26334,6 +26579,7 @@ "rows.write" ], "platforms": [ + "console", "server", "client" ], @@ -26416,6 +26662,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -26477,6 +26724,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -26557,6 +26805,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "databases.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -26621,6 +26870,7 @@ "collections.read" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -26715,6 +26965,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -26844,6 +27095,7 @@ "collections.read" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -26916,6 +27168,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -27023,6 +27276,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -27095,6 +27349,7 @@ "collections.read" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -27190,6 +27445,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -27302,6 +27558,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -27416,6 +27673,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -27528,6 +27786,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -27642,6 +27901,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -27754,6 +28014,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -27868,6 +28129,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -27990,6 +28252,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -28114,6 +28377,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -28240,6 +28504,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -28368,6 +28633,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -28494,6 +28760,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -28622,6 +28889,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -28734,6 +29002,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -28848,6 +29117,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -28954,6 +29224,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -29067,6 +29338,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -29173,6 +29445,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -29286,6 +29559,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -29392,6 +29666,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -29505,6 +29780,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -29645,6 +29921,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -29770,6 +30047,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -29891,6 +30169,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -30003,6 +30282,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -30146,6 +30426,7 @@ "collections.read" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -30220,6 +30501,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -30301,6 +30583,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -30410,6 +30693,7 @@ "collections.read" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -30503,6 +30787,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -30642,6 +30927,7 @@ "collections.read" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -30716,6 +31002,7 @@ "collections.write" ], "platforms": [ + "console", "server" ], "packaging": false, @@ -30795,6 +31082,7 @@ "documents.read" ], "platforms": [ + "console", "client", "server" ], @@ -30899,6 +31187,7 @@ "documents.write" ], "platforms": [ + "console", "client", "server" ], @@ -31418,6 +31707,7 @@ "documents.read" ], "platforms": [ + "console", "client", "server" ], @@ -31521,6 +31811,7 @@ "documents.write" ], "platforms": [ + "console", "client", "server" ], @@ -31669,6 +31960,7 @@ "documents.write" ], "platforms": [ + "console", "client", "server" ], @@ -31779,6 +32071,7 @@ "documents.write" ], "platforms": [ + "console", "client", "server" ], @@ -32119,6 +32412,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server" ], @@ -32205,6 +32499,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server" ], @@ -32297,6 +32592,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server" ], @@ -32361,6 +32657,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server" ], @@ -32438,6 +32735,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server" ], @@ -32502,6 +32800,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server" ], @@ -32596,6 +32895,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server" ], @@ -32718,6 +33018,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server" ], @@ -32790,6 +33091,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server" ], @@ -32885,6 +33187,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server" ], @@ -32959,6 +33262,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "public", "platforms": [ + "console", "client", "server" ], @@ -33055,6 +33359,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.read", "platforms": [ + "console", "client", "server" ], @@ -33118,6 +33423,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "teams.write", "platforms": [ + "console", "client", "server" ], @@ -33573,6 +33879,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -33656,6 +33963,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -33755,6 +34063,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -33848,6 +34157,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -33939,6 +34249,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -34019,6 +34330,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34082,6 +34394,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34175,6 +34488,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34268,6 +34582,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34396,6 +34711,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34510,6 +34826,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34622,6 +34939,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -34678,6 +34996,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34741,6 +35060,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34822,6 +35142,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34906,6 +35227,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -34988,6 +35310,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -35070,6 +35393,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -35163,6 +35487,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -35301,6 +35626,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -35435,6 +35761,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -35554,6 +35881,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -35673,6 +36001,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -35792,6 +36121,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -35913,6 +36243,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -35994,6 +36325,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -36075,6 +36407,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -36154,6 +36487,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -36215,6 +36549,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -36294,6 +36629,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.read", "platforms": [ + "console", "server" ], "packaging": false, @@ -36364,6 +36700,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -36420,6 +36757,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -36478,6 +36816,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -36549,6 +36888,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -37058,6 +37398,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -37142,6 +37483,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, @@ -37223,6 +37565,7 @@ "rate-key": "url:{url},ip:{ip}", "scope": "users.write", "platforms": [ + "console", "server" ], "packaging": false, diff --git a/app/controllers/api/account.php b/app/controllers/api/account.php index ada4a98de9..0ae4e19f43 100644 --- a/app/controllers/api/account.php +++ b/app/controllers/api/account.php @@ -344,7 +344,7 @@ App::post('/v1/account') group: 'account', name: 'create', description: '/docs/references/account/create.md', - auth: [], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_CREATED, @@ -502,7 +502,7 @@ App::get('/v1/account') group: 'account', name: 'get', description: '/docs/references/account/get.md', - auth: [AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -585,7 +585,7 @@ App::get('/v1/account/sessions') group: 'sessions', name: 'listSessions', description: '/docs/references/account/list-sessions.md', - auth: [AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -633,7 +633,7 @@ App::delete('/v1/account/sessions') group: 'sessions', name: 'deleteSessions', description: '/docs/references/account/delete-sessions.md', - auth: [AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_NOCONTENT, @@ -705,7 +705,7 @@ App::get('/v1/account/sessions/:sessionId') group: 'sessions', name: 'getSession', description: '/docs/references/account/get-session.md', - auth: [AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -756,7 +756,7 @@ App::delete('/v1/account/sessions/:sessionId') group: 'sessions', name: 'deleteSession', description: '/docs/references/account/delete-session.md', - auth: [AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_NOCONTENT, @@ -844,7 +844,7 @@ App::patch('/v1/account/sessions/:sessionId') group: 'sessions', name: 'updateSession', description: '/docs/references/account/update-session.md', - auth: [AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -935,7 +935,7 @@ App::post('/v1/account/sessions/email') group: 'sessions', name: 'createEmailPasswordSession', description: '/docs/references/account/create-session-email-password.md', - auth: [], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_CREATED, @@ -1083,7 +1083,7 @@ App::post('/v1/account/sessions/anonymous') group: 'sessions', name: 'createAnonymousSession', description: '/docs/references/account/create-session-anonymous.md', - auth: [], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_CREATED, @@ -1232,7 +1232,7 @@ App::post('/v1/account/sessions/token') group: 'sessions', name: 'createSession', description: '/docs/references/account/create-session.md', - auth: [], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_CREATED, @@ -1270,7 +1270,7 @@ App::get('/v1/account/sessions/oauth2/:provider') name: 'createOAuth2Session', description: '/docs/references/account/create-session-oauth2.md', type: MethodType::WEBAUTH, - auth: [], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_MOVED_PERMANENTLY, @@ -1278,7 +1278,7 @@ App::get('/v1/account/sessions/oauth2/:provider') ) ], contentType: ContentType::HTML, - hide: [APP_PLATFORM_SERVER], + hide: [APP_SDK_PLATFORM_SERVER], )) ->label('abuse-limit', 50) ->label('abuse-key', 'ip:{ip}') @@ -1932,7 +1932,7 @@ App::get('/v1/account/tokens/oauth2/:provider') group: 'tokens', name: 'createOAuth2Token', description: '/docs/references/account/create-token-oauth2.md', - auth: [], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_MOVED_PERMANENTLY, @@ -2022,7 +2022,7 @@ App::post('/v1/account/tokens/magic-url') group: 'tokens', name: 'createMagicURLToken', description: '/docs/references/account/create-token-magic-url.md', - auth: [], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_CREATED, @@ -2291,7 +2291,7 @@ App::post('/v1/account/tokens/email') group: 'tokens', name: 'createEmailToken', description: '/docs/references/account/create-token-email.md', - auth: [], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_CREATED, @@ -2579,7 +2579,7 @@ App::put('/v1/account/sessions/magic-url') group: 'sessions', name: 'updateMagicURLSession', description: '/docs/references/account/create-session.md', - auth: [], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_CREATED, @@ -2626,7 +2626,7 @@ App::put('/v1/account/sessions/phone') group: 'sessions', name: 'updatePhoneSession', description: '/docs/references/account/create-session.md', - auth: [], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_CREATED, @@ -2671,7 +2671,7 @@ App::post('/v1/account/tokens/phone') group: 'tokens', name: 'createPhoneToken', description: '/docs/references/account/create-token-phone.md', - auth: [], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_CREATED, @@ -2886,7 +2886,7 @@ App::post('/v1/account/jwts') group: 'tokens', name: 'createJWT', description: '/docs/references/account/create-jwt.md', - auth: [], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_CREATED, @@ -2929,7 +2929,7 @@ App::get('/v1/account/prefs') group: 'account', name: 'getPrefs', description: '/docs/references/account/get-prefs.md', - auth: [AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -2956,7 +2956,7 @@ App::get('/v1/account/logs') group: 'logs', name: 'listLogs', description: '/docs/references/account/list-logs.md', - auth: [AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -3028,7 +3028,7 @@ App::patch('/v1/account/name') group: 'account', name: 'updateName', description: '/docs/references/account/update-name.md', - auth: [AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -3066,7 +3066,7 @@ App::patch('/v1/account/password') group: 'account', name: 'updatePassword', description: '/docs/references/account/update-password.md', - auth: [AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -3158,7 +3158,7 @@ App::patch('/v1/account/email') group: 'account', name: 'updateEmail', description: '/docs/references/account/update-email.md', - auth: [AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -3269,7 +3269,7 @@ App::patch('/v1/account/phone') group: 'account', name: 'updatePhone', description: '/docs/references/account/update-phone.md', - auth: [AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -3357,7 +3357,7 @@ App::patch('/v1/account/prefs') group: 'account', name: 'updatePrefs', description: '/docs/references/account/update-prefs.md', - auth: [AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -3395,7 +3395,7 @@ App::patch('/v1/account/status') group: 'account', name: 'updateStatus', description: '/docs/references/account/update-status.md', - auth: [AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -3446,7 +3446,7 @@ App::post('/v1/account/recovery') group: 'recovery', name: 'createRecovery', description: '/docs/references/account/create-recovery.md', - auth: [AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_CREATED, @@ -3626,7 +3626,7 @@ App::put('/v1/account/recovery') group: 'recovery', name: 'updateRecovery', description: '/docs/references/account/update-recovery.md', - auth: [AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -3723,7 +3723,7 @@ App::post('/v1/account/verifications/email') group: 'verification', name: 'createEmailVerification', description: '/docs/references/account/create-email-verification.md', - auth: [AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_CREATED, @@ -3737,7 +3737,7 @@ App::post('/v1/account/verifications/email') group: 'verification', name: 'createVerification', description: '/docs/references/account/create-email-verification.md', - auth: [AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_CREATED, @@ -3940,7 +3940,7 @@ App::put('/v1/account/verifications/email') group: 'verification', name: 'updateEmailVerification', description: '/docs/references/account/update-email-verification.md', - auth: [AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -3954,7 +3954,7 @@ App::put('/v1/account/verifications/email') group: 'verification', name: 'updateVerification', description: '/docs/references/account/update-email-verification.md', - auth: [AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -4029,7 +4029,7 @@ App::post('/v1/account/verifications/phone') group: 'verification', name: 'createPhoneVerification', description: '/docs/references/account/create-phone-verification.md', - auth: [AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_CREATED, @@ -4179,7 +4179,7 @@ App::put('/v1/account/verifications/phone') group: 'verification', name: 'updatePhoneVerification', description: '/docs/references/account/update-phone-verification.md', - auth: [AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -4245,7 +4245,7 @@ App::post('/v1/account/targets/push') group: 'pushTargets', name: 'createPushTarget', description: '/docs/references/account/create-push-target.md', - auth: [AuthType::SESSION], + auth: [AuthType::ADMIN, AuthType::SESSION], responses: [ new SDKResponse( code: Response::STATUS_CODE_CREATED, @@ -4328,7 +4328,7 @@ App::put('/v1/account/targets/:targetId/push') group: 'pushTargets', name: 'updatePushTarget', description: '/docs/references/account/update-push-target.md', - auth: [AuthType::SESSION], + auth: [AuthType::ADMIN, AuthType::SESSION], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -4393,7 +4393,7 @@ App::delete('/v1/account/targets/:targetId/push') group: 'pushTargets', name: 'deletePushTarget', description: '/docs/references/account/delete-push-target.md', - auth: [AuthType::SESSION], + auth: [AuthType::ADMIN, AuthType::SESSION], responses: [ new SDKResponse( code: Response::STATUS_CODE_NOCONTENT, @@ -4444,7 +4444,7 @@ App::get('/v1/account/identities') group: 'identities', name: 'listIdentities', description: '/docs/references/account/list-identities.md', - auth: [AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -4520,7 +4520,7 @@ App::delete('/v1/account/identities/:identityId') group: 'identities', name: 'deleteIdentity', description: '/docs/references/account/delete-identity.md', - auth: [AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_NOCONTENT, diff --git a/app/controllers/api/avatars.php b/app/controllers/api/avatars.php index cd314861a4..4a97118853 100644 --- a/app/controllers/api/avatars.php +++ b/app/controllers/api/avatars.php @@ -178,7 +178,7 @@ App::get('/v1/avatars/credit-cards/:code') group: null, name: 'getCreditCard', description: '/docs/references/avatars/get-credit-card.md', - auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::KEY, AuthType::JWT], type: MethodType::LOCATION, responses: [ new SDKResponse( @@ -206,7 +206,7 @@ App::get('/v1/avatars/browsers/:code') group: null, name: 'getBrowser', description: '/docs/references/avatars/get-browser.md', - auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::KEY, AuthType::JWT], type: MethodType::LOCATION, responses: [ new SDKResponse( @@ -234,7 +234,7 @@ App::get('/v1/avatars/flags/:code') group: null, name: 'getFlag', description: '/docs/references/avatars/get-flag.md', - auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::KEY, AuthType::JWT], type: MethodType::LOCATION, responses: [ new SDKResponse( @@ -262,7 +262,7 @@ App::get('/v1/avatars/image') group: null, name: 'getImage', description: '/docs/references/avatars/get-image.md', - auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::KEY, AuthType::JWT], type: MethodType::LOCATION, responses: [ new SDKResponse( @@ -333,7 +333,7 @@ App::get('/v1/avatars/favicon') group: null, name: 'getFavicon', description: '/docs/references/avatars/get-favicon.md', - auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::KEY, AuthType::JWT], type: MethodType::LOCATION, responses: [ new SDKResponse( @@ -507,7 +507,7 @@ App::get('/v1/avatars/qr') group: null, name: 'getQR', description: '/docs/references/avatars/get-qr.md', - auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::KEY, AuthType::JWT], type: MethodType::LOCATION, responses: [ new SDKResponse( @@ -557,7 +557,7 @@ App::get('/v1/avatars/initials') group: null, name: 'getInitials', description: '/docs/references/avatars/get-initials.md', - auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::KEY, AuthType::JWT], type: MethodType::LOCATION, responses: [ new SDKResponse( @@ -652,7 +652,7 @@ App::get('/v1/avatars/screenshots') group: null, name: 'getScreenshot', description: '/docs/references/avatars/get-screenshot.md', - auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::KEY, AuthType::JWT], type: MethodType::LOCATION, responses: [ new SDKResponse( diff --git a/app/controllers/api/graphql.php b/app/controllers/api/graphql.php index 6ad5087765..baf0ba1512 100644 --- a/app/controllers/api/graphql.php +++ b/app/controllers/api/graphql.php @@ -46,7 +46,7 @@ App::get('/v1/graphql') namespace: 'graphql', group: 'graphql', name: 'get', - auth: [AuthType::KEY, AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::KEY, AuthType::SESSION, AuthType::JWT], hide: true, description: '/docs/references/graphql/get.md', responses: [ @@ -93,7 +93,7 @@ App::post('/v1/graphql/mutation') namespace: 'graphql', group: 'graphql', name: 'mutation', - auth: [AuthType::KEY, AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::KEY, AuthType::SESSION, AuthType::JWT], description: '/docs/references/graphql/post.md', responses: [ new SDKResponse( @@ -144,7 +144,7 @@ App::post('/v1/graphql') namespace: 'graphql', group: 'graphql', name: 'query', - auth: [AuthType::KEY, AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::KEY, AuthType::SESSION, AuthType::JWT], description: '/docs/references/graphql/post.md', responses: [ new SDKResponse( diff --git a/app/controllers/api/health.php b/app/controllers/api/health.php index 765688e1ee..56320159ea 100644 --- a/app/controllers/api/health.php +++ b/app/controllers/api/health.php @@ -50,7 +50,7 @@ App::get('/v1/health') group: 'health', name: 'get', description: '/docs/references/health/get.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -89,7 +89,7 @@ App::get('/v1/health/db') group: 'health', name: 'getDB', description: '/docs/references/health/get-db.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -150,7 +150,7 @@ App::get('/v1/health/cache') group: 'health', name: 'getCache', description: '/docs/references/health/get-cache.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -210,7 +210,7 @@ App::get('/v1/health/pubsub') group: 'health', name: 'getPubSub', description: '/docs/references/health/get-pubsub.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -270,7 +270,7 @@ App::get('/v1/health/time') group: 'health', name: 'getTime', description: '/docs/references/health/get-time.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -334,7 +334,7 @@ App::get('/v1/health/queue/webhooks') group: 'queue', name: 'getQueueWebhooks', description: '/docs/references/health/get-queue-webhooks.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -367,7 +367,7 @@ App::get('/v1/health/queue/logs') group: 'queue', name: 'getQueueLogs', description: '/docs/references/health/get-queue-logs.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -400,7 +400,7 @@ App::get('/v1/health/certificate') group: 'health', name: 'getCertificate', description: '/docs/references/health/get-certificate.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -457,7 +457,7 @@ App::get('/v1/health/queue/certificates') group: 'queue', name: 'getQueueCertificates', description: '/docs/references/health/get-queue-certificates.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -490,7 +490,7 @@ App::get('/v1/health/queue/builds') group: 'queue', name: 'getQueueBuilds', description: '/docs/references/health/get-queue-builds.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -523,7 +523,7 @@ App::get('/v1/health/queue/databases') group: 'queue', name: 'getQueueDatabases', description: '/docs/references/health/get-queue-databases.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -556,7 +556,7 @@ App::get('/v1/health/queue/deletes') group: 'queue', name: 'getQueueDeletes', description: '/docs/references/health/get-queue-deletes.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -589,7 +589,7 @@ App::get('/v1/health/queue/mails') group: 'queue', name: 'getQueueMails', description: '/docs/references/health/get-queue-mails.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -622,7 +622,7 @@ App::get('/v1/health/queue/messaging') group: 'queue', name: 'getQueueMessaging', description: '/docs/references/health/get-queue-messaging.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -655,7 +655,7 @@ App::get('/v1/health/queue/migrations') group: 'queue', name: 'getQueueMigrations', description: '/docs/references/health/get-queue-migrations.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -688,7 +688,7 @@ App::get('/v1/health/queue/functions') group: 'queue', name: 'getQueueFunctions', description: '/docs/references/health/get-queue-functions.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -721,7 +721,7 @@ App::get('/v1/health/queue/stats-resources') group: 'queue', name: 'getQueueStatsResources', description: '/docs/references/health/get-queue-stats-resources.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -754,7 +754,7 @@ App::get('/v1/health/queue/stats-usage') group: 'queue', name: 'getQueueUsage', description: '/docs/references/health/get-queue-stats-usage.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -787,7 +787,7 @@ App::get('/v1/health/storage/local') group: 'storage', name: 'getStorageLocal', description: '/docs/references/health/get-storage-local.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -837,7 +837,7 @@ App::get('/v1/health/storage') group: 'storage', name: 'getStorage', description: '/docs/references/health/get-storage.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -889,7 +889,7 @@ App::get('/v1/health/anti-virus') group: 'health', name: 'getAntivirus', description: '/docs/references/health/get-storage-anti-virus.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -935,7 +935,7 @@ App::get('/v1/health/queue/failed/:name') group: 'queue', name: 'getFailedJobs', description: '/docs/references/health/get-failed-queue-jobs.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, diff --git a/app/controllers/api/locale.php b/app/controllers/api/locale.php index 69bf766323..edc0e986e9 100644 --- a/app/controllers/api/locale.php +++ b/app/controllers/api/locale.php @@ -20,7 +20,7 @@ App::get('/v1/locale') group: null, name: 'get', description: '/docs/references/locale/get-locale.md', - auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::KEY, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -79,7 +79,7 @@ App::get('/v1/locale/codes') group: null, name: 'listCodes', description: '/docs/references/locale/list-locale-codes.md', - auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::KEY, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -105,7 +105,7 @@ App::get('/v1/locale/countries') group: null, name: 'listCountries', description: '/docs/references/locale/list-countries.md', - auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::KEY, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -142,7 +142,7 @@ App::get('/v1/locale/countries/eu') group: null, name: 'listCountriesEU', description: '/docs/references/locale/list-countries-eu.md', - auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::KEY, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -181,7 +181,7 @@ App::get('/v1/locale/countries/phones') group: null, name: 'listCountriesPhones', description: '/docs/references/locale/list-countries-phones.md', - auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::KEY, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -219,7 +219,7 @@ App::get('/v1/locale/continents') group: null, name: 'listContinents', description: '/docs/references/locale/list-continents.md', - auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::KEY, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -255,7 +255,7 @@ App::get('/v1/locale/currencies') group: null, name: 'listCurrencies', description: '/docs/references/locale/list-currencies.md', - auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::KEY, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -282,7 +282,7 @@ App::get('/v1/locale/languages') group: null, name: 'listLanguages', description: '/docs/references/locale/list-languages.md', - auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::KEY, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, diff --git a/app/controllers/api/storage.php b/app/controllers/api/storage.php index 1af157286c..e6f4394e25 100644 --- a/app/controllers/api/storage.php +++ b/app/controllers/api/storage.php @@ -68,7 +68,7 @@ App::post('/v1/storage/buckets') group: 'buckets', name: 'createBucket', description: '/docs/references/storage/create-bucket.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_CREATED, @@ -173,7 +173,7 @@ App::get('/v1/storage/buckets') group: 'buckets', name: 'listBuckets', description: '/docs/references/storage/list-buckets.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -248,7 +248,7 @@ App::get('/v1/storage/buckets/:bucketId') group: 'buckets', name: 'getBucket', description: '/docs/references/storage/get-bucket.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -283,7 +283,7 @@ App::put('/v1/storage/buckets/:bucketId') group: 'buckets', name: 'updateBucket', description: '/docs/references/storage/update-bucket.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -357,7 +357,7 @@ App::delete('/v1/storage/buckets/:bucketId') group: 'buckets', name: 'deleteBucket', description: '/docs/references/storage/delete-bucket.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_NOCONTENT, @@ -411,7 +411,7 @@ App::post('/v1/storage/buckets/:bucketId/files') group: 'files', name: 'createFile', description: '/docs/references/storage/create-file.md', - auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::KEY, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_CREATED, @@ -789,7 +789,7 @@ App::get('/v1/storage/buckets/:bucketId/files') group: 'files', name: 'listFiles', description: '/docs/references/storage/list-files.md', - auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::KEY, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -892,7 +892,7 @@ App::get('/v1/storage/buckets/:bucketId/files/:fileId') group: 'files', name: 'getFile', description: '/docs/references/storage/get-file.md', - auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::KEY, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -949,7 +949,7 @@ App::get('/v1/storage/buckets/:bucketId/files/:fileId/preview') group: 'files', name: 'getFilePreview', description: '/docs/references/storage/get-file-preview.md', - auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::KEY, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -1162,7 +1162,7 @@ App::get('/v1/storage/buckets/:bucketId/files/:fileId/download') group: 'files', name: 'getFileDownload', description: '/docs/references/storage/get-file-download.md', - auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::KEY, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -1323,7 +1323,7 @@ App::get('/v1/storage/buckets/:bucketId/files/:fileId/view') group: 'files', name: 'getFileView', description: '/docs/references/storage/get-file-view.md', - auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::KEY, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -1656,7 +1656,7 @@ App::put('/v1/storage/buckets/:bucketId/files/:fileId') group: 'files', name: 'updateFile', description: '/docs/references/storage/update-file.md', - auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::KEY, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -1771,7 +1771,7 @@ App::delete('/v1/storage/buckets/:bucketId/files/:fileId') group: 'files', name: 'deleteFile', description: '/docs/references/storage/delete-file.md', - auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::KEY, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_NOCONTENT, diff --git a/app/controllers/api/teams.php b/app/controllers/api/teams.php index 5f45c38fed..8771588d3a 100644 --- a/app/controllers/api/teams.php +++ b/app/controllers/api/teams.php @@ -72,7 +72,7 @@ App::post('/v1/teams') group: 'teams', name: 'create', description: '/docs/references/teams/create-team.md', - auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::KEY, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_CREATED, @@ -163,7 +163,7 @@ App::get('/v1/teams') group: 'teams', name: 'list', description: '/docs/references/teams/list-teams.md', - auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::KEY, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -237,7 +237,7 @@ App::get('/v1/teams/:teamId') group: 'teams', name: 'get', description: '/docs/references/teams/get-team.md', - auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::KEY, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -268,7 +268,7 @@ App::get('/v1/teams/:teamId/prefs') group: 'teams', name: 'getPrefs', description: '/docs/references/teams/get-team-prefs.md', - auth: [AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -310,7 +310,7 @@ App::put('/v1/teams/:teamId') group: 'teams', name: 'updateName', description: '/docs/references/teams/update-team-name.md', - auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::KEY, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -356,7 +356,7 @@ App::put('/v1/teams/:teamId/prefs') group: 'teams', name: 'updatePrefs', description: '/docs/references/teams/update-team-prefs.md', - auth: [AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -403,7 +403,7 @@ App::delete('/v1/teams/:teamId') group: 'teams', name: 'delete', description: '/docs/references/teams/delete-team.md', - auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::KEY, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_NOCONTENT, @@ -462,7 +462,7 @@ App::post('/v1/teams/:teamId/memberships') group: 'memberships', name: 'createMembership', description: '/docs/references/teams/create-team-membership.md', - auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::KEY, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_CREATED, @@ -848,7 +848,7 @@ App::get('/v1/teams/:teamId/memberships') group: 'memberships', name: 'listMemberships', description: '/docs/references/teams/list-team-members.md', - auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::KEY, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -991,7 +991,7 @@ App::get('/v1/teams/:teamId/memberships/:membershipId') group: 'memberships', name: 'getMembership', description: '/docs/references/teams/get-team-member.md', - auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::KEY, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -1078,7 +1078,7 @@ App::patch('/v1/teams/:teamId/memberships/:membershipId') group: 'memberships', name: 'updateMembership', description: '/docs/references/teams/update-team-membership.md', - auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::KEY, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -1188,7 +1188,7 @@ App::patch('/v1/teams/:teamId/memberships/:membershipId/status') group: 'memberships', name: 'updateMembershipStatus', description: '/docs/references/teams/update-team-membership-status.md', - auth: [AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -1353,7 +1353,7 @@ App::delete('/v1/teams/:teamId/memberships/:membershipId') group: 'memberships', name: 'deleteMembership', description: '/docs/references/teams/delete-team-membership.md', - auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::KEY, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_NOCONTENT, diff --git a/app/controllers/api/users.php b/app/controllers/api/users.php index e49b0631d3..36df3d7a90 100644 --- a/app/controllers/api/users.php +++ b/app/controllers/api/users.php @@ -238,7 +238,7 @@ App::post('/v1/users') group: 'users', name: 'create', description: '/docs/references/users/create-user.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_CREATED, @@ -275,7 +275,7 @@ App::post('/v1/users/bcrypt') group: 'users', name: 'createBcryptUser', description: '/docs/references/users/create-bcrypt-user.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_CREATED, @@ -313,7 +313,7 @@ App::post('/v1/users/md5') group: 'users', name: 'createMD5User', description: '/docs/references/users/create-md5-user.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_CREATED, @@ -350,7 +350,7 @@ App::post('/v1/users/argon2') group: 'users', name: 'createArgon2User', description: '/docs/references/users/create-argon2-user.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_CREATED, @@ -387,7 +387,7 @@ App::post('/v1/users/sha') group: 'users', name: 'createSHAUser', description: '/docs/references/users/create-sha-user.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_CREATED, @@ -428,7 +428,7 @@ App::post('/v1/users/phpass') group: 'users', name: 'createPHPassUser', description: '/docs/references/users/create-phpass-user.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_CREATED, @@ -465,7 +465,7 @@ App::post('/v1/users/scrypt') group: 'users', name: 'createScryptUser', description: '/docs/references/users/create-scrypt-user.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_CREATED, @@ -513,7 +513,7 @@ App::post('/v1/users/scrypt-modified') group: 'users', name: 'createScryptModifiedUser', description: '/docs/references/users/create-scrypt-modified-user.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_CREATED, @@ -650,7 +650,7 @@ App::get('/v1/users') group: 'users', name: 'list', description: '/docs/references/users/list-users.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -729,7 +729,7 @@ App::get('/v1/users/:userId') group: 'users', name: 'get', description: '/docs/references/users/get-user.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -760,7 +760,7 @@ App::get('/v1/users/:userId/prefs') group: 'users', name: 'getPrefs', description: '/docs/references/users/get-user-prefs.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -831,7 +831,7 @@ App::get('/v1/users/:userId/sessions') group: 'sessions', name: 'listSessions', description: '/docs/references/users/list-user-sessions.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -875,7 +875,7 @@ App::get('/v1/users/:userId/memberships') group: 'memberships', name: 'listMemberships', description: '/docs/references/users/list-user-memberships.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -930,7 +930,7 @@ App::get('/v1/users/:userId/logs') group: 'logs', name: 'listLogs', description: '/docs/references/users/list-user-logs.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -1078,7 +1078,7 @@ App::get('/v1/users/identities') group: 'identities', name: 'listIdentities', description: '/docs/references/users/list-identities.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -1148,7 +1148,7 @@ App::patch('/v1/users/:userId/status') group: 'users', name: 'updateStatus', description: '/docs/references/users/update-user-status.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -1189,7 +1189,7 @@ App::put('/v1/users/:userId/labels') group: 'users', name: 'updateLabels', description: '/docs/references/users/update-user-labels.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -1232,7 +1232,7 @@ App::patch('/v1/users/:userId/verification/phone') group: 'users', name: 'updatePhoneVerification', description: '/docs/references/users/update-user-phone-verification.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -1274,7 +1274,7 @@ App::patch('/v1/users/:userId/name') group: 'users', name: 'updateName', description: '/docs/references/users/update-user-name.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -1317,7 +1317,7 @@ App::patch('/v1/users/:userId/password') group: 'users', name: 'updatePassword', description: '/docs/references/users/update-user-password.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -1416,7 +1416,7 @@ App::patch('/v1/users/:userId/email') group: 'users', name: 'updateEmail', description: '/docs/references/users/update-user-email.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -1527,7 +1527,7 @@ App::patch('/v1/users/:userId/phone') group: 'users', name: 'updatePhone', description: '/docs/references/users/update-user-phone.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -1617,7 +1617,7 @@ App::patch('/v1/users/:userId/verification') group: 'users', name: 'updateEmailVerification', description: '/docs/references/users/update-user-email-verification.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -1655,7 +1655,7 @@ App::patch('/v1/users/:userId/prefs') group: 'users', name: 'updatePrefs', description: '/docs/references/users/update-user-prefs.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -1802,7 +1802,7 @@ App::patch('/v1/users/:userId/mfa') group: 'users', name: 'updateMfa', description: '/docs/references/users/update-user-mfa.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -1820,7 +1820,7 @@ App::patch('/v1/users/:userId/mfa') group: 'users', name: 'updateMFA', description: '/docs/references/users/update-user-mfa.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -1862,7 +1862,7 @@ App::get('/v1/users/:userId/mfa/factors') group: 'mfa', name: 'listMfaFactors', description: '/docs/references/users/list-mfa-factors.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -1880,7 +1880,7 @@ App::get('/v1/users/:userId/mfa/factors') group: 'mfa', name: 'listMFAFactors', description: '/docs/references/users/list-mfa-factors.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -1921,7 +1921,7 @@ App::get('/v1/users/:userId/mfa/recovery-codes') group: 'mfa', name: 'getMfaRecoveryCodes', description: '/docs/references/users/get-mfa-recovery-codes.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -1939,7 +1939,7 @@ App::get('/v1/users/:userId/mfa/recovery-codes') group: 'mfa', name: 'getMFARecoveryCodes', description: '/docs/references/users/get-mfa-recovery-codes.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -1986,7 +1986,7 @@ App::patch('/v1/users/:userId/mfa/recovery-codes') group: 'mfa', name: 'createMfaRecoveryCodes', description: '/docs/references/users/create-mfa-recovery-codes.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_CREATED, @@ -2004,7 +2004,7 @@ App::patch('/v1/users/:userId/mfa/recovery-codes') group: 'mfa', name: 'createMFARecoveryCodes', description: '/docs/references/users/create-mfa-recovery-codes.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_CREATED, @@ -2058,7 +2058,7 @@ App::put('/v1/users/:userId/mfa/recovery-codes') group: 'mfa', name: 'updateMfaRecoveryCodes', description: '/docs/references/users/update-mfa-recovery-codes.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -2076,7 +2076,7 @@ App::put('/v1/users/:userId/mfa/recovery-codes') group: 'mfa', name: 'updateMFARecoveryCodes', description: '/docs/references/users/update-mfa-recovery-codes.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -2130,7 +2130,7 @@ App::delete('/v1/users/:userId/mfa/authenticators/:type') group: 'mfa', name: 'deleteMfaAuthenticator', description: '/docs/references/users/delete-mfa-authenticator.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_NOCONTENT, @@ -2149,7 +2149,7 @@ App::delete('/v1/users/:userId/mfa/authenticators/:type') group: 'mfa', name: 'deleteMFAAuthenticator', description: '/docs/references/users/delete-mfa-authenticator.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_NOCONTENT, @@ -2198,7 +2198,7 @@ App::post('/v1/users/:userId/sessions') group: 'sessions', name: 'createSession', description: '/docs/references/users/create-session.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_CREATED, @@ -2290,7 +2290,7 @@ App::post('/v1/users/:userId/tokens') group: 'sessions', name: 'createToken', description: '/docs/references/users/create-token.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_CREATED, @@ -2355,7 +2355,7 @@ App::delete('/v1/users/:userId/sessions/:sessionId') group: 'sessions', name: 'deleteSession', description: '/docs/references/users/delete-user-session.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_NOCONTENT, @@ -2406,7 +2406,7 @@ App::delete('/v1/users/:userId/sessions') group: 'sessions', name: 'deleteSessions', description: '/docs/references/users/delete-user-sessions.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_NOCONTENT, @@ -2456,7 +2456,7 @@ App::delete('/v1/users/:userId') group: 'users', name: 'delete', description: '/docs/references/users/delete.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_NOCONTENT, @@ -2566,7 +2566,7 @@ App::delete('/v1/users/identities/:identityId') group: 'identities', name: 'deleteIdentity', description: '/docs/references/users/delete-identity.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_NOCONTENT, @@ -2606,7 +2606,7 @@ App::post('/v1/users/:userId/jwts') group: 'sessions', name: 'createJWT', description: '/docs/references/users/create-user-jwt.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_CREATED, diff --git a/app/init/constants.php b/app/init/constants.php index 9c771edb0a..166d206ef8 100644 --- a/app/init/constants.php +++ b/app/init/constants.php @@ -89,9 +89,9 @@ const APP_SOCIAL_YOUTUBE = 'https://www.youtube.com/c/appwrite?sub_confirmation= const APP_COMPUTE_CPUS_DEFAULT = 0.5; const APP_COMPUTE_MEMORY_DEFAULT = 512; const APP_COMPUTE_SPECIFICATION_DEFAULT = Specification::S_1VCPU_512MB; -const APP_PLATFORM_SERVER = 'server'; -const APP_PLATFORM_CLIENT = 'client'; -const APP_PLATFORM_CONSOLE = 'console'; +const APP_SDK_PLATFORM_SERVER = 'server'; +const APP_SDK_PLATFORM_CLIENT = 'client'; +const APP_SDK_PLATFORM_CONSOLE = 'console'; const APP_VCS_GITHUB_USERNAME = 'Appwrite'; const APP_VCS_GITHUB_EMAIL = 'team@appwrite.io'; const APP_VCS_GITHUB_URL = 'https://github.com/TeamAppwrite'; diff --git a/app/init/resources.php b/app/init/resources.php index 6351dae478..e40a6a8167 100644 --- a/app/init/resources.php +++ b/app/init/resources.php @@ -831,7 +831,7 @@ App::setResource('passwordsDictionary', function ($register) { App::setResource('servers', function () { $platforms = Config::getParam('sdks'); - $server = $platforms[APP_PLATFORM_SERVER]; + $server = $platforms[APP_SDK_PLATFORM_SERVER]; $languages = array_map(function ($language) { return strtolower($language['name']); diff --git a/src/Appwrite/Platform/Modules/Account/Http/Account/MFA/Authenticators/Create.php b/src/Appwrite/Platform/Modules/Account/Http/Account/MFA/Authenticators/Create.php index c2825ce9d1..93b2b640ff 100644 --- a/src/Appwrite/Platform/Modules/Account/Http/Account/MFA/Authenticators/Create.php +++ b/src/Appwrite/Platform/Modules/Account/Http/Account/MFA/Authenticators/Create.php @@ -48,7 +48,7 @@ class Create extends Action group: 'mfa', name: 'createMfaAuthenticator', description: '/docs/references/account/create-mfa-authenticator.md', - auth: [AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -67,7 +67,7 @@ class Create extends Action group: 'mfa', name: 'createMFAAuthenticator', description: '/docs/references/account/create-mfa-authenticator.md', - auth: [AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Account/Http/Account/MFA/Authenticators/Delete.php b/src/Appwrite/Platform/Modules/Account/Http/Account/MFA/Authenticators/Delete.php index 3244bc662b..754255be15 100644 --- a/src/Appwrite/Platform/Modules/Account/Http/Account/MFA/Authenticators/Delete.php +++ b/src/Appwrite/Platform/Modules/Account/Http/Account/MFA/Authenticators/Delete.php @@ -45,7 +45,7 @@ class Delete extends Action group: 'mfa', name: 'deleteMfaAuthenticator', description: '/docs/references/account/delete-mfa-authenticator.md', - auth: [AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_NOCONTENT, @@ -64,7 +64,7 @@ class Delete extends Action group: 'mfa', name: 'deleteMFAAuthenticator', description: '/docs/references/account/delete-mfa-authenticator.md', - auth: [AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_NOCONTENT, diff --git a/src/Appwrite/Platform/Modules/Account/Http/Account/MFA/Authenticators/Update.php b/src/Appwrite/Platform/Modules/Account/Http/Account/MFA/Authenticators/Update.php index 34656a6428..bd961ffbc2 100644 --- a/src/Appwrite/Platform/Modules/Account/Http/Account/MFA/Authenticators/Update.php +++ b/src/Appwrite/Platform/Modules/Account/Http/Account/MFA/Authenticators/Update.php @@ -47,7 +47,7 @@ class Update extends Action group: 'mfa', name: 'updateMfaAuthenticator', description: '/docs/references/account/update-mfa-authenticator.md', - auth: [AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -66,7 +66,7 @@ class Update extends Action group: 'mfa', name: 'updateMFAAuthenticator', description: '/docs/references/account/update-mfa-authenticator.md', - auth: [AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Account/Http/Account/MFA/Challenges/Create.php b/src/Appwrite/Platform/Modules/Account/Http/Account/MFA/Challenges/Create.php index c392d02d80..196c83999d 100644 --- a/src/Appwrite/Platform/Modules/Account/Http/Account/MFA/Challenges/Create.php +++ b/src/Appwrite/Platform/Modules/Account/Http/Account/MFA/Challenges/Create.php @@ -9,6 +9,7 @@ use Appwrite\Event\Mail; use Appwrite\Event\Messaging; use Appwrite\Event\StatsUsage; use Appwrite\Extend\Exception; +use Appwrite\SDK\AuthType; use Appwrite\SDK\ContentType; use Appwrite\SDK\Deprecated; use Appwrite\SDK\Method; @@ -60,7 +61,7 @@ class Create extends Action group: 'mfa', name: 'createMfaChallenge', description: '/docs/references/account/create-mfa-challenge.md', - auth: [], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_CREATED, @@ -79,7 +80,7 @@ class Create extends Action group: 'mfa', name: 'createMFAChallenge', description: '/docs/references/account/create-mfa-challenge.md', - auth: [], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_CREATED, diff --git a/src/Appwrite/Platform/Modules/Account/Http/Account/MFA/Challenges/Update.php b/src/Appwrite/Platform/Modules/Account/Http/Account/MFA/Challenges/Update.php index 927cd86e38..3f3532cf16 100644 --- a/src/Appwrite/Platform/Modules/Account/Http/Account/MFA/Challenges/Update.php +++ b/src/Appwrite/Platform/Modules/Account/Http/Account/MFA/Challenges/Update.php @@ -47,7 +47,7 @@ class Update extends Action group: 'mfa', name: 'updateMfaChallenge', description: '/docs/references/account/update-mfa-challenge.md', - auth: [AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -66,7 +66,7 @@ class Update extends Action group: 'mfa', name: 'updateMFAChallenge', description: '/docs/references/account/update-mfa-challenge.md', - auth: [AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Account/Http/Account/MFA/Factors/XList.php b/src/Appwrite/Platform/Modules/Account/Http/Account/MFA/Factors/XList.php index e19d7dc59c..aa8ef7a198 100644 --- a/src/Appwrite/Platform/Modules/Account/Http/Account/MFA/Factors/XList.php +++ b/src/Appwrite/Platform/Modules/Account/Http/Account/MFA/Factors/XList.php @@ -37,7 +37,7 @@ class XList extends Action group: 'mfa', name: 'listMfaFactors', description: '/docs/references/account/list-mfa-factors.md', - auth: [AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -56,7 +56,7 @@ class XList extends Action group: 'mfa', name: 'listMFAFactors', description: '/docs/references/account/list-mfa-factors.md', - auth: [AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Account/Http/Account/MFA/RecoveryCodes/Create.php b/src/Appwrite/Platform/Modules/Account/Http/Account/MFA/RecoveryCodes/Create.php index b44894014f..969cf9c262 100644 --- a/src/Appwrite/Platform/Modules/Account/Http/Account/MFA/RecoveryCodes/Create.php +++ b/src/Appwrite/Platform/Modules/Account/Http/Account/MFA/RecoveryCodes/Create.php @@ -43,7 +43,7 @@ class Create extends Action group: 'mfa', name: 'createMfaRecoveryCodes', description: '/docs/references/account/create-mfa-recovery-codes.md', - auth: [AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_CREATED, @@ -62,7 +62,7 @@ class Create extends Action group: 'mfa', name: 'createMFARecoveryCodes', description: '/docs/references/account/create-mfa-recovery-codes.md', - auth: [AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_CREATED, diff --git a/src/Appwrite/Platform/Modules/Account/Http/Account/MFA/RecoveryCodes/Get.php b/src/Appwrite/Platform/Modules/Account/Http/Account/MFA/RecoveryCodes/Get.php index 8ba5cb31e6..b8046159a6 100644 --- a/src/Appwrite/Platform/Modules/Account/Http/Account/MFA/RecoveryCodes/Get.php +++ b/src/Appwrite/Platform/Modules/Account/Http/Account/MFA/RecoveryCodes/Get.php @@ -36,7 +36,7 @@ class Get extends Action group: 'mfa', name: 'getMfaRecoveryCodes', description: '/docs/references/account/get-mfa-recovery-codes.md', - auth: [AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -55,7 +55,7 @@ class Get extends Action group: 'mfa', name: 'getMFARecoveryCodes', description: '/docs/references/account/get-mfa-recovery-codes.md', - auth: [AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Account/Http/Account/MFA/RecoveryCodes/Update.php b/src/Appwrite/Platform/Modules/Account/Http/Account/MFA/RecoveryCodes/Update.php index 5cc2783e75..9b9f9b7e00 100644 --- a/src/Appwrite/Platform/Modules/Account/Http/Account/MFA/RecoveryCodes/Update.php +++ b/src/Appwrite/Platform/Modules/Account/Http/Account/MFA/RecoveryCodes/Update.php @@ -43,7 +43,7 @@ class Update extends Action group: 'mfa', name: 'updateMfaRecoveryCodes', description: '/docs/references/account/update-mfa-recovery-codes.md', - auth: [AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, @@ -61,7 +61,7 @@ class Update extends Action group: 'mfa', name: 'updateMFARecoveryCodes', description: '/docs/references/account/update-mfa-recovery-codes.md', - auth: [AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Account/Http/Account/MFA/Update.php b/src/Appwrite/Platform/Modules/Account/Http/Account/MFA/Update.php index 00068c7441..227062caa3 100644 --- a/src/Appwrite/Platform/Modules/Account/Http/Account/MFA/Update.php +++ b/src/Appwrite/Platform/Modules/Account/Http/Account/MFA/Update.php @@ -42,7 +42,7 @@ class Update extends Action group: 'mfa', name: 'updateMFA', description: '/docs/references/account/update-mfa.md', - auth: [AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: Response::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Boolean/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Boolean/Create.php index 8dfe80a390..f04532aeee 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Boolean/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Boolean/Create.php @@ -47,7 +47,7 @@ class Create extends Action group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/databases/create-boolean-attribute.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_ACCEPTED, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Boolean/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Boolean/Update.php index ddb01ff011..003b4227c9 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Boolean/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Boolean/Update.php @@ -46,7 +46,7 @@ class Update extends Action group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/databases/update-boolean-attribute.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Datetime/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Datetime/Create.php index d0f45dc664..c2982445a4 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Datetime/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Datetime/Create.php @@ -48,7 +48,7 @@ class Create extends Action group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/databases/create-datetime-attribute.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_ACCEPTED, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Datetime/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Datetime/Update.php index 1a30a09867..984d4b0245 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Datetime/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Datetime/Update.php @@ -47,7 +47,7 @@ class Update extends Action group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/databases/update-datetime-attribute.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Delete.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Delete.php index 23c21fecee..649cde10aa 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Delete.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Delete.php @@ -47,7 +47,7 @@ class Delete extends Action group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/databases/delete-attribute.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_NOCONTENT, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Email/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Email/Create.php index 9f4c38d490..b36072eb75 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Email/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Email/Create.php @@ -48,7 +48,7 @@ class Create extends Action group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/databases/create-email-attribute.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_ACCEPTED, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Email/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Email/Update.php index 59a0490e6f..382f16b469 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Email/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Email/Update.php @@ -47,7 +47,7 @@ class Update extends Action group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/databases/update-email-attribute.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Enum/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Enum/Create.php index d2ccf9f972..9145191b0c 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Enum/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Enum/Create.php @@ -50,7 +50,7 @@ class Create extends Action group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/databases/create-enum-attribute.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_ACCEPTED, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Enum/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Enum/Update.php index 560107dd38..2f47eb0cc6 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Enum/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Enum/Update.php @@ -48,7 +48,7 @@ class Update extends Action group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/databases/update-enum-attribute.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Float/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Float/Create.php index f48348c192..56d8874794 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Float/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Float/Create.php @@ -50,7 +50,7 @@ class Create extends Action group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/databases/create-float-attribute.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_ACCEPTED, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Float/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Float/Update.php index 99ac992b9e..330c649f27 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Float/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Float/Update.php @@ -47,7 +47,7 @@ class Update extends Action group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/databases/update-float-attribute.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Get.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Get.php index c11dd1c63b..3a8eece531 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Get.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Get.php @@ -51,7 +51,7 @@ class Get extends Action group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/databases/get-attribute.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/IP/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/IP/Create.php index af3ed99bdf..2340d1d55d 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/IP/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/IP/Create.php @@ -48,7 +48,7 @@ class Create extends Action group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/databases/create-ip-attribute.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_ACCEPTED, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/IP/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/IP/Update.php index a757ed47d1..236dbf7f83 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/IP/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/IP/Update.php @@ -47,7 +47,7 @@ class Update extends Action group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/databases/update-ip-attribute.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Integer/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Integer/Create.php index 5e147c771d..30f58097ce 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Integer/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Integer/Create.php @@ -50,7 +50,7 @@ class Create extends Action group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/databases/create-integer-attribute.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_ACCEPTED, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Integer/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Integer/Update.php index 6d3858992b..67c371c69d 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Integer/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Integer/Update.php @@ -47,7 +47,7 @@ class Update extends Action group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/databases/update-integer-attribute.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Line/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Line/Create.php index f691fc29cf..f0fd728902 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Line/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Line/Create.php @@ -48,7 +48,7 @@ class Create extends Action group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/databases/create-line-attribute.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_ACCEPTED, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Line/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Line/Update.php index 8ef2f96ec2..3407da2b34 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Line/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Line/Update.php @@ -47,7 +47,7 @@ class Update extends Action group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/databases/update-line-attribute.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Point/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Point/Create.php index aae715ba1e..f2e4d19267 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Point/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Point/Create.php @@ -48,7 +48,7 @@ class Create extends Action group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/databases/create-point-attribute.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_ACCEPTED, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Point/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Point/Update.php index 62f35ad2a7..86e78e56e3 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Point/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Point/Update.php @@ -47,7 +47,7 @@ class Update extends Action group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/databases/update-point-attribute.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Polygon/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Polygon/Create.php index 6fbbd46d2c..4c49b21050 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Polygon/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Polygon/Create.php @@ -48,7 +48,7 @@ class Create extends Action group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/databases/create-polygon-attribute.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_ACCEPTED, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Polygon/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Polygon/Update.php index dba83d44d5..0dbb117cec 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Polygon/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Polygon/Update.php @@ -47,7 +47,7 @@ class Update extends Action group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/databases/update-polygon-attribute.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Relationship/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Relationship/Create.php index 76cc17e2f7..b43568a968 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Relationship/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Relationship/Create.php @@ -50,7 +50,7 @@ class Create extends Action group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/databases/create-relationship-attribute.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_ACCEPTED, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Relationship/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Relationship/Update.php index f9f1d6f3ab..feed58a4ff 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Relationship/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/Relationship/Update.php @@ -46,7 +46,7 @@ class Update extends Action group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/databases/update-relationship-attribute.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/String/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/String/Create.php index 88cb161505..b42558f063 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/String/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/String/Create.php @@ -52,7 +52,7 @@ class Create extends Action group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/databases/create-string-attribute.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_ACCEPTED, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/String/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/String/Update.php index 6687178cb1..53ea2a0e03 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/String/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/String/Update.php @@ -49,7 +49,7 @@ class Update extends Action group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/databases/update-string-attribute.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/URL/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/URL/Create.php index 2d3b0c6168..7529845016 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/URL/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/URL/Create.php @@ -48,7 +48,7 @@ class Create extends Action group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/databases/create-url-attribute.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_ACCEPTED, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/URL/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/URL/Update.php index ebaea9e61d..9ba8ebb859 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/URL/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/URL/Update.php @@ -47,7 +47,7 @@ class Update extends Action group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/databases/update-url-attribute.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/XList.php index 065cb333db..6bfe5f8913 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Attributes/XList.php @@ -46,7 +46,7 @@ class XList extends Action group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/databases/list-attributes.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Create.php index d285c1ac13..d93b0d29c3 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Create.php @@ -61,7 +61,7 @@ class Create extends Action group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/databases/create-collection.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_CREATED, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Delete.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Delete.php index bf0f83bb11..af36649061 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Delete.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Delete.php @@ -45,7 +45,7 @@ class Delete extends Action group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/databases/delete-collection.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_NOCONTENT, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Create.php index a7fb81a486..7c3a06ab30 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Create.php @@ -69,7 +69,7 @@ class Create extends Action name: self::getName(), desc: 'Create document', description: '/docs/references/databases/create-document.md', - auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::KEY, AuthType::JWT], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_CREATED, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Delete.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Delete.php index 14a51c0fac..faae638c88 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Delete.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Delete.php @@ -59,7 +59,7 @@ class Delete extends Action group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/databases/delete-document.md', - auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::KEY, AuthType::JWT], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_NOCONTENT, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Get.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Get.php index 62919488e6..f560267d4b 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Get.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Get.php @@ -48,7 +48,7 @@ class Get extends Action group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/databases/get-document.md', - auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::KEY, AuthType::JWT], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Update.php index d2b67665a7..bfa04bfcb3 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Update.php @@ -61,7 +61,7 @@ class Update extends Action group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/databases/update-document.md', - auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::KEY, AuthType::JWT], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Upsert.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Upsert.php index d85fb17842..d966b524c4 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Upsert.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Upsert.php @@ -63,7 +63,7 @@ class Upsert extends Action group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/databases/upsert-document.md', - auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::KEY, AuthType::JWT], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_CREATED, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/XList.php index b14a4f9983..8b770284c3 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/XList.php @@ -52,7 +52,7 @@ class XList extends Action group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/databases/list-documents.md', - auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::KEY, AuthType::JWT], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Get.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Get.php index 22d1333cc4..e7909772a5 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Get.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Get.php @@ -40,7 +40,7 @@ class Get extends Action group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/databases/get-collection.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Indexes/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Indexes/Create.php index b132aff8ef..872b7348fe 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Indexes/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Indexes/Create.php @@ -55,7 +55,7 @@ class Create extends Action group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/databases/create-index.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_ACCEPTED, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Indexes/Delete.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Indexes/Delete.php index 57198cc53c..27b28e866c 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Indexes/Delete.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Indexes/Delete.php @@ -50,7 +50,7 @@ class Delete extends Action group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/databases/delete-index.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_NOCONTENT, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Indexes/Get.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Indexes/Get.php index c03e80dedc..d66bf8f38f 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Indexes/Get.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Indexes/Get.php @@ -41,7 +41,7 @@ class Get extends Action group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/databases/get-index.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Indexes/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Indexes/XList.php index ec4bc94a66..abbdefb4d5 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Indexes/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Indexes/XList.php @@ -47,7 +47,7 @@ class XList extends Action group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/databases/list-indexes.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Update.php index bbad2a7f22..e319a33e67 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Update.php @@ -49,7 +49,7 @@ class Update extends Action group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/databases/update-collection.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/XList.php index e1985b0fa9..b0b0385bf5 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/XList.php @@ -48,7 +48,7 @@ class XList extends Action group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/databases/list-collections.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Create.php index 009b499ea8..790bea2e1a 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Create.php @@ -48,7 +48,7 @@ class Create extends Action group: 'databases', name: 'create', description: '/docs/references/databases/create.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_CREATED, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Delete.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Delete.php index 76b36b5df9..440f86cfd8 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Delete.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Delete.php @@ -41,7 +41,7 @@ class Delete extends Action group: 'databases', name: 'delete', description: '/docs/references/databases/delete.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_NOCONTENT, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Get.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Get.php index 2eb09955c1..93cea53420 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Get.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Get.php @@ -36,7 +36,7 @@ class Get extends Action group: 'databases', name: 'get', description: '/docs/references/databases/get.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/Create.php index c4c5bf8b51..20c71223c6 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/Create.php @@ -42,7 +42,7 @@ class Create extends Action group: 'transactions', name: 'createTransaction', description: '/docs/references/databases/create-transaction.md', - auth: [AuthType::KEY, AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::KEY, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_CREATED, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/Delete.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/Delete.php index b018743f36..e52c598eea 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/Delete.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/Delete.php @@ -39,7 +39,7 @@ class Delete extends Action group: 'transactions', name: 'deleteTransaction', description: '/docs/references/databases/delete-transaction.md', - auth: [AuthType::KEY, AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::KEY, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_NOCONTENT, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/Get.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/Get.php index 78d19ec4eb..bc51b598ac 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/Get.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/Get.php @@ -38,7 +38,7 @@ class Get extends Action group: 'transactions', name: 'getTransaction', description: '/docs/references/databases/get-transaction.md', - auth: [AuthType::KEY, AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::KEY, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/Operations/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/Operations/Create.php index 765e663911..5a2568db0c 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/Operations/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/Operations/Create.php @@ -48,7 +48,7 @@ class Create extends Action group: 'transactions', name: 'createOperations', description: '/docs/references/databases/create-operations.md', - auth: [AuthType::KEY, AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::KEY, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_CREATED, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/Update.php index 70e670144d..9235c81b8e 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/Update.php @@ -54,7 +54,7 @@ class Update extends Action group: 'transactions', name: 'updateTransaction', description: '/docs/references/databases/update-transaction.md', - auth: [AuthType::KEY, AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::KEY, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/XList.php index 33c66b90c7..4b1b45eab0 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Transactions/XList.php @@ -41,7 +41,7 @@ class XList extends Action group: 'transactions', name: 'listTransactions', description: '/docs/references/databases/list-transactions.md', - auth: [AuthType::KEY, AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::KEY, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Update.php index 9f2ce06db4..231b13deee 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Update.php @@ -42,7 +42,7 @@ class Update extends Action group: 'databases', name: 'update', description: '/docs/references/databases/update.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/XList.php index b1d2ff9346..e3dd46839a 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/XList.php @@ -43,7 +43,7 @@ class XList extends Action group: 'databases', name: 'list', description: '/docs/references/databases/list.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Create.php index 8993f00368..d842210c92 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Create.php @@ -37,7 +37,7 @@ class Create extends DatabaseCreate group: 'tablesdb', name: 'create', description: '/docs/references/tablesdb/create.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_CREATED, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Delete.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Delete.php index 0a6cb3cd87..dc26072178 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Delete.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Delete.php @@ -35,7 +35,7 @@ class Delete extends DatabaseDelete group: 'tablesdb', name: 'delete', description: '/docs/references/tablesdb/delete.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_NOCONTENT, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Get.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Get.php index 9690f25370..6364f2dc0a 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Get.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Get.php @@ -32,7 +32,7 @@ class Get extends DatabaseGet group: 'tablesdb', name: 'get', description: '/docs/references/tablesdb/get.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Boolean/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Boolean/Create.php index d9dfc15ca8..c0d502d10a 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Boolean/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Boolean/Create.php @@ -42,7 +42,7 @@ class Create extends BooleanCreate group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/tablesdb/create-boolean-column.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_ACCEPTED, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Boolean/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Boolean/Update.php index 3b83e71c12..c5939b6974 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Boolean/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Boolean/Update.php @@ -43,7 +43,7 @@ class Update extends BooleanUpdate group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/tablesdb/update-boolean-column.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Datetime/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Datetime/Create.php index 69d6bd2b4b..63693abb67 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Datetime/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Datetime/Create.php @@ -44,7 +44,7 @@ class Create extends DatetimeCreate group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/tablesdb/create-datetime-column.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_ACCEPTED, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Datetime/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Datetime/Update.php index 255abf00bf..b022d0ed85 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Datetime/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Datetime/Update.php @@ -45,7 +45,7 @@ class Update extends DatetimeUpdate group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/tablesdb/update-datetime-column.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Delete.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Delete.php index 26f4ffa898..8a691a6e98 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Delete.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Delete.php @@ -42,7 +42,7 @@ class Delete extends AttributesDelete group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/tablesdb/delete-column.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_NOCONTENT, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Email/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Email/Create.php index 58ea459d0f..6d19f99b7b 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Email/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Email/Create.php @@ -43,7 +43,7 @@ class Create extends EmailCreate group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/tablesdb/create-email-column.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_ACCEPTED, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Email/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Email/Update.php index 0105345555..48a04304bd 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Email/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Email/Update.php @@ -44,7 +44,7 @@ class Update extends EmailUpdate group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/tablesdb/update-email-column.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Enum/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Enum/Create.php index 8ab8019626..bd280a2910 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Enum/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Enum/Create.php @@ -45,7 +45,7 @@ class Create extends EnumCreate group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/tablesdb/create-enum-column.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_ACCEPTED, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Enum/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Enum/Update.php index 968c84c56b..ac5c1cf907 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Enum/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Enum/Update.php @@ -46,7 +46,7 @@ class Update extends EnumUpdate group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/tablesdb/update-enum-column.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Float/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Float/Create.php index 21e855d912..8293d66992 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Float/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Float/Create.php @@ -43,7 +43,7 @@ class Create extends FloatCreate group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/tablesdb/create-float-column.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_ACCEPTED, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Float/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Float/Update.php index 6a479ea266..bf2815db45 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Float/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Float/Update.php @@ -44,7 +44,7 @@ class Update extends FloatUpdate group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/tablesdb/update-float-column.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Get.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Get.php index c20ef58a39..ee88ac8683 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Get.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Get.php @@ -48,7 +48,7 @@ class Get extends AttributesGet group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/tablesdb/get-column.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/IP/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/IP/Create.php index 08912ebb56..9b38cd9dfd 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/IP/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/IP/Create.php @@ -43,7 +43,7 @@ class Create extends IPCreate group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/tablesdb/create-ip-column.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_ACCEPTED, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/IP/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/IP/Update.php index 9df9f573a2..7db8625ebf 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/IP/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/IP/Update.php @@ -44,7 +44,7 @@ class Update extends IPUpdate group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/tablesdb/update-ip-column.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Integer/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Integer/Create.php index eb9230f48f..e0ed059681 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Integer/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Integer/Create.php @@ -43,7 +43,7 @@ class Create extends IntegerCreate group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/tablesdb/create-integer-column.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_ACCEPTED, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Integer/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Integer/Update.php index 6c707f1655..7afc239201 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Integer/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Integer/Update.php @@ -44,7 +44,7 @@ class Update extends IntegerUpdate group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/tablesdb/update-integer-column.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Line/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Line/Create.php index 4aa173707b..6110d6ee07 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Line/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Line/Create.php @@ -44,7 +44,7 @@ class Create extends LineCreate group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/tablesdb/create-line-column.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_ACCEPTED, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Line/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Line/Update.php index fd7d200eb3..afd0098152 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Line/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Line/Update.php @@ -45,7 +45,7 @@ class Update extends LineUpdate group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/tablesdb/update-line-column.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Point/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Point/Create.php index b8ae563def..084adca860 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Point/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Point/Create.php @@ -44,7 +44,7 @@ class Create extends PointCreate group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/tablesdb/create-point-column.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_ACCEPTED, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Point/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Point/Update.php index 8b8dd7b66c..632be85871 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Point/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Point/Update.php @@ -45,7 +45,7 @@ class Update extends PointUpdate group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/tablesdb/update-point-column.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Polygon/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Polygon/Create.php index e0a2cf32cd..723940af58 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Polygon/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Polygon/Create.php @@ -44,7 +44,7 @@ class Create extends PolygonCreate group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/tablesdb/create-polygon-column.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_ACCEPTED, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Polygon/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Polygon/Update.php index c49351fc59..91b55f74b4 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Polygon/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Polygon/Update.php @@ -45,7 +45,7 @@ class Update extends PolygonUpdate group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/tablesdb/update-polygon-column.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Relationship/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Relationship/Create.php index cccc61beaa..f3933160c0 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Relationship/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Relationship/Create.php @@ -44,7 +44,7 @@ class Create extends RelationshipCreate group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/tablesdb/create-relationship-column.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_ACCEPTED, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Relationship/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Relationship/Update.php index 5953d600f8..eb87713457 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Relationship/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/Relationship/Update.php @@ -44,7 +44,7 @@ class Update extends RelationshipUpdate group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/tablesdb/update-relationship-column.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/String/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/String/Create.php index 8d37c9011b..9279409e88 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/String/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/String/Create.php @@ -45,7 +45,7 @@ class Create extends StringCreate group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/tablesdb/create-string-column.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_ACCEPTED, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/String/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/String/Update.php index 43083616ba..9fffa71b33 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/String/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/String/Update.php @@ -46,7 +46,7 @@ class Update extends StringUpdate group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/tablesdb/update-string-column.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/URL/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/URL/Create.php index 3fd6f1e463..50f5ea5d5b 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/URL/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/URL/Create.php @@ -43,7 +43,7 @@ class Create extends URLCreate group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/tablesdb/create-url-column.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_ACCEPTED, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/URL/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/URL/Update.php index 64dfdfbf69..b52ea66ce1 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/URL/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/URL/Update.php @@ -44,7 +44,7 @@ class Update extends URLUpdate group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/tablesdb/update-url-column.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/XList.php index 1e0b641b32..39551e5113 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Columns/XList.php @@ -38,7 +38,7 @@ class XList extends AttributesXList group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/tablesdb/list-columns.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Create.php index ee0799d028..7287c2cb3e 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Create.php @@ -47,7 +47,7 @@ class Create extends CollectionCreate group: 'tables', name: self::getName(), description: '/docs/references/tablesdb/create-table.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_CREATED, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Delete.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Delete.php index de068d5b29..d4af8b3508 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Delete.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Delete.php @@ -40,7 +40,7 @@ class Delete extends CollectionDelete group: 'tables', name: self::getName(), description: '/docs/references/tablesdb/delete-table.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_NOCONTENT, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Get.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Get.php index be6ec5d9e7..4286ee07ca 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Get.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Get.php @@ -37,7 +37,7 @@ class Get extends CollectionGet group: 'tables', name: self::getName(), description: '/docs/references/tablesdb/get-table.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Indexes/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Indexes/Create.php index 3802ee32b8..727334b6da 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Indexes/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Indexes/Create.php @@ -46,7 +46,7 @@ class Create extends IndexCreate group: $this->getSDKGroup(), name: 'createIndex', // getName needs to be different from parent action to avoid conflict in path name description: '/docs/references/tablesdb/create-index.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_ACCEPTED, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Indexes/Delete.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Indexes/Delete.php index 57ab466ee8..7d187ab5a1 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Indexes/Delete.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Indexes/Delete.php @@ -45,7 +45,7 @@ class Delete extends IndexDelete group: $this->getSDKGroup(), name: 'deleteIndex', // getName needs to be different from parent action to avoid conflict in path name description: '/docs/references/tablesdb/delete-index.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_NOCONTENT, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Indexes/Get.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Indexes/Get.php index 271d842631..75ee507aa8 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Indexes/Get.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Indexes/Get.php @@ -38,7 +38,7 @@ class Get extends IndexGet group: $this->getSDKGroup(), name: 'getIndex', // getName needs to be different from parent action to avoid conflict in path name description: '/docs/references/tablesdb/get-index.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Indexes/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Indexes/XList.php index 0ea52eaf1b..bf5f27e388 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Indexes/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Indexes/XList.php @@ -39,7 +39,7 @@ class XList extends IndexXList group: $this->getSDKGroup(), name: 'listIndexes', // getName needs to be different from parent action to avoid conflict in path name description: '/docs/references/tablesdb/list-indexes.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Create.php index d657e5596b..b5491a593b 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Create.php @@ -56,7 +56,7 @@ class Create extends DocumentCreate name: self::getName(), desc: 'Create row', description: '/docs/references/tablesdb/create-row.md', - auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::KEY, AuthType::JWT], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_CREATED, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Delete.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Delete.php index 4c8b599c8c..bcd8682a48 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Delete.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Delete.php @@ -50,7 +50,7 @@ class Delete extends DocumentDelete group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/tablesdb/delete-row.md', - auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::KEY, AuthType::JWT], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_NOCONTENT, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Get.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Get.php index f355ebb9e6..450fb4d746 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Get.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Get.php @@ -40,7 +40,7 @@ class Get extends DocumentGet group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/tablesdb/get-row.md', - auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::KEY, AuthType::JWT], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Update.php index 8f3786b8cf..a143c94615 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Update.php @@ -47,7 +47,7 @@ class Update extends DocumentUpdate group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/tablesdb/update-row.md', - auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::KEY, AuthType::JWT], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Upsert.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Upsert.php index d4cd61cfdd..39a7abeb7c 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Upsert.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Upsert.php @@ -48,7 +48,7 @@ class Upsert extends DocumentUpsert group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/tablesdb/upsert-row.md', - auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::KEY, AuthType::JWT], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_CREATED, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/XList.php index cd6141a6b4..c51017fa75 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/XList.php @@ -41,7 +41,7 @@ class XList extends DocumentXList group: $this->getSDKGroup(), name: self::getName(), description: '/docs/references/tablesdb/list-rows.md', - auth: [AuthType::SESSION, AuthType::KEY, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::KEY, AuthType::JWT], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Update.php index a4bfb5bf23..03316783cd 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Update.php @@ -44,7 +44,7 @@ class Update extends CollectionUpdate group: 'tables', name: self::getName(), description: '/docs/references/tablesdb/update-table.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/XList.php index 5e8fcfc3c8..e0c590379b 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/XList.php @@ -40,7 +40,7 @@ class XList extends CollectionXList group: 'tables', name: self::getName(), description: '/docs/references/tablesdb/list-tables.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Transactions/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Transactions/Create.php index bc79b86ca3..27454664f4 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Transactions/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Transactions/Create.php @@ -37,7 +37,7 @@ class Create extends TransactionsCreate group: 'transactions', name: 'createTransaction', description: '/docs/references/tablesdb/create-transaction.md', - auth: [AuthType::KEY, AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::KEY, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_CREATED, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Transactions/Delete.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Transactions/Delete.php index 6f92a1b10b..4838ea94db 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Transactions/Delete.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Transactions/Delete.php @@ -37,7 +37,7 @@ class Delete extends TransactionsDelete group: 'transactions', name: 'deleteTransaction', description: '/docs/references/tablesdb/delete-transaction.md', - auth: [AuthType::KEY, AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::KEY, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_NOCONTENT, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Transactions/Get.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Transactions/Get.php index ab7925c916..5182972513 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Transactions/Get.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Transactions/Get.php @@ -37,7 +37,7 @@ class Get extends TransactionsGet group: 'transactions', name: 'getTransaction', description: '/docs/references/tablesdb/get-transaction.md', - auth: [AuthType::KEY, AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::KEY, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Transactions/Operations/Create.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Transactions/Operations/Create.php index 5a98f22f37..4668ae2d15 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Transactions/Operations/Create.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Transactions/Operations/Create.php @@ -39,7 +39,7 @@ class Create extends OperationsCreate group: 'transactions', name: 'createOperations', description: '/docs/references/tablesdb/create-operations.md', - auth: [AuthType::KEY, AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::KEY, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_CREATED, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Transactions/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Transactions/Update.php index 4d55af93a4..4337a8d28d 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Transactions/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Transactions/Update.php @@ -38,7 +38,7 @@ class Update extends TransactionsUpdate group: 'transactions', name: 'updateTransaction', description: '/docs/references/tablesdb/update-transaction.md', - auth: [AuthType::KEY, AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::KEY, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Transactions/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Transactions/XList.php index 9a9c22a1a8..4f073d5714 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Transactions/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Transactions/XList.php @@ -37,7 +37,7 @@ class XList extends TransactionsList group: 'transactions', name: 'listTransactions', description: '/docs/references/tablesdb/list-transactions.md', - auth: [AuthType::KEY, AuthType::SESSION, AuthType::JWT], + auth: [AuthType::ADMIN, AuthType::KEY, AuthType::SESSION, AuthType::JWT], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Update.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Update.php index 10d4284947..3a45c94814 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Update.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Update.php @@ -37,7 +37,7 @@ class Update extends DatabaseUpdate group: 'tablesdb', name: 'update', description: '/docs/references/tablesdb/update.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/XList.php index 2f07c4843a..4299e7c862 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/XList.php @@ -34,7 +34,7 @@ class XList extends DatabaseXList group: 'tablesdb', name: 'list', description: '/docs/references/tablesdb/list.md', - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: SwooleResponse::STATUS_CODE_OK, diff --git a/src/Appwrite/Platform/Modules/Functions/Http/Deployments/Create.php b/src/Appwrite/Platform/Modules/Functions/Http/Deployments/Create.php index d53324b27f..e7e34d4c5b 100644 --- a/src/Appwrite/Platform/Modules/Functions/Http/Deployments/Create.php +++ b/src/Appwrite/Platform/Modules/Functions/Http/Deployments/Create.php @@ -63,7 +63,7 @@ class Create extends Action Use the "command" param to set the entrypoint used to execute your code. EOT, - auth: [AuthType::KEY], + auth: [AuthType::ADMIN, AuthType::KEY], responses: [ new SDKResponse( code: Response::STATUS_CODE_ACCEPTED, diff --git a/src/Appwrite/Platform/Modules/Functions/Http/Deployments/Delete.php b/src/Appwrite/Platform/Modules/Functions/Http/Deployments/Delete.php index 9e314d05c6..f33ba2f8a4 100644 --- a/src/Appwrite/Platform/Modules/Functions/Http/Deployments/Delete.php +++ b/src/Appwrite/Platform/Modules/Functions/Http/Deployments/Delete.php @@ -46,7 +46,7 @@ class Delete extends Action description: <<setNPMPackage('@appwrite.io/console'); $config->setBowerPackage('@appwrite.io/console'); } else { diff --git a/src/Appwrite/Platform/Tasks/Specs.php b/src/Appwrite/Platform/Tasks/Specs.php index edb1fc56ed..7869c14471 100644 --- a/src/Appwrite/Platform/Tasks/Specs.php +++ b/src/Appwrite/Platform/Tasks/Specs.php @@ -28,6 +28,15 @@ use Utopia\Validator\WhiteList; class Specs extends Action { + public function __construct() + { + $this + ->desc('Generate Appwrite API specifications') + ->param('version', 'latest', new Text(16), 'Spec version', true) + ->param('mode', 'normal', new WhiteList(['normal', 'mocks']), 'Spec Mode', true) + ->callback($this->action(...)); + } + public static function getName(): string { return 'specs'; @@ -52,41 +61,44 @@ class Specs extends Action }; } - public function __construct() + /** + * Platforms + * + * @return array + */ + protected function getPlatforms(): array { - $this - ->desc('Generate Appwrite API specifications') - ->param('version', 'latest', new Text(16), 'Spec version', true) - ->param('mode', 'normal', new WhiteList(['normal', 'mocks']), 'Spec Mode', true) - ->callback($this->action(...)); + return [ + APP_SDK_PLATFORM_CLIENT, + APP_SDK_PLATFORM_SERVER, + APP_SDK_PLATFORM_CONSOLE, + ]; } - public function action(string $version, string $mode): void + /** + * Number of authentication methods supported by each platform + * client: 1 (Session or JWT), server: 2 (Key and JWT), console: 1 (Admin) + * + * @return array{client: int, console: int, server: int} + */ + protected function getAuthCounts(): array { - $appRoutes = App::getRoutes(); - $response = $this->getResponse(); - $mocks = ($mode === 'mocks'); - - // Mock dependencies - App::setResource('request', fn () => $this->getRequest()); - App::setResource('response', fn () => $response); - App::setResource('dbForPlatform', fn () => new Database(new MySQL(''), new Cache(new None()))); - App::setResource('dbForProject', fn () => new Database(new MySQL(''), new Cache(new None()))); - - $platforms = [ - 'client' => APP_PLATFORM_CLIENT, - 'server' => APP_PLATFORM_SERVER, - 'console' => APP_PLATFORM_CONSOLE, - ]; - - $authCounts = [ + return [ 'client' => 1, 'server' => 2, 'console' => 1, ]; + } - $keys = [ - APP_PLATFORM_CLIENT => [ + /** + * Keys for each platform + * + * @return array{client: array, server: array, console: array} + */ + protected function getKeys(): array + { + return [ + APP_SDK_PLATFORM_CLIENT => [ 'Project' => [ 'type' => 'apiKey', 'name' => 'X-Appwrite-Project', @@ -118,7 +130,7 @@ class Specs extends Action 'in' => 'header', ] ], - APP_PLATFORM_SERVER => [ + APP_SDK_PLATFORM_SERVER => [ 'Project' => [ 'type' => 'apiKey', 'name' => 'X-Appwrite-Project', @@ -156,7 +168,7 @@ class Specs extends Action 'in' => 'header', ], ], - APP_PLATFORM_CONSOLE => [ + APP_SDK_PLATFORM_CONSOLE => [ 'Project' => [ 'type' => 'apiKey', 'name' => 'X-Appwrite-Project', @@ -189,6 +201,47 @@ class Specs extends Action ], ], ]; + } + + public function getSDKPlatformsForRouteSecurity(array $routeSecurity): array + { + $sdkPlatforms = []; + foreach ($routeSecurity as $value) { + switch ($value) { + case AuthType::SESSION: + $sdkPlatforms[] = APP_SDK_PLATFORM_CLIENT; + break; + case AuthType::JWT: + case AuthType::KEY: + $sdkPlatforms[] = APP_SDK_PLATFORM_SERVER; + break; + case AuthType::ADMIN: + $sdkPlatforms[] = APP_SDK_PLATFORM_CONSOLE; + break; + } + } + + return $sdkPlatforms; + } + + public function action(string $version, string $mode): void + { + $appRoutes = App::getRoutes(); + + /** @var AppwriteResponse $response */ + $response = $this->getResponse(); + + $mocks = ($mode === 'mocks'); + + // Mock dependencies + App::setResource('request', fn () => $this->getRequest()); + App::setResource('response', fn () => $response); + App::setResource('dbForPlatform', fn () => new Database(new MySQL(''), new Cache(new None()))); + App::setResource('dbForProject', fn () => new Database(new MySQL(''), new Cache(new None()))); + + $platforms = $this->getPlatforms(); + $authCounts = $this->getAuthCounts(); + $keys = $this->getKeys(); foreach ($platforms as $platform) { $routes = []; @@ -210,32 +263,13 @@ class Specs extends Action foreach ($sdks as $sdk) { /** @var Method $sdk */ $hide = $sdk->isHidden(); + if ($hide === true || (\is_array($hide) && \in_array($platform, $hide))) { continue; } $routeSecurity = $sdk->getAuth(); - $sdkPlatforms = []; - - foreach ($routeSecurity as $value) { - switch ($value) { - case AuthType::SESSION: - $sdkPlatforms[] = APP_PLATFORM_CLIENT; - break; - case AuthType::JWT: - case AuthType::KEY: - $sdkPlatforms[] = APP_PLATFORM_SERVER; - break; - case AuthType::ADMIN: - $sdkPlatforms[] = APP_PLATFORM_CONSOLE; - break; - } - } - - if (empty($routeSecurity)) { - $sdkPlatforms[] = APP_PLATFORM_SERVER; - $sdkPlatforms[] = APP_PLATFORM_CLIENT; - } + $sdkPlatforms = $this->getSDKPlatformsForRouteSecurity($routeSecurity); if (!$route->getLabel('docs', true)) { continue; @@ -253,7 +287,7 @@ class Specs extends Action continue; } - if ($platform !== APP_PLATFORM_CONSOLE && !\in_array($platforms[$platform], $sdkPlatforms)) { + if (!\in_array($platform, $sdkPlatforms)) { continue; } @@ -272,6 +306,11 @@ class Specs extends Action continue; } + // Check if current platform is included in service's platforms + if (!\in_array($platform, $service['platforms'] ?? [])) { + continue; + } + $services[] = [ 'name' => $service['key'] ?? '', 'description' => $service['subtitle'] ?? '', @@ -281,7 +320,7 @@ class Specs extends Action $models = $response->getModels(); foreach ($models as $key => $value) { - if ($platform !== APP_PLATFORM_CONSOLE && !$value->isPublic()) { + if ($platform !== APP_SDK_PLATFORM_CONSOLE && !$value->isPublic()) { unset($models[$key]); } } @@ -293,7 +332,7 @@ class Specs extends Action $models, $keys[$platform], $authCounts[$platform] ?? 0, - $platforms[$platform] + $platform ]; foreach (['swagger2', 'open-api3'] as $format) { diff --git a/src/Appwrite/SDK/Specification/Format.php b/src/Appwrite/SDK/Specification/Format.php index aad832a9f4..a6228a0b29 100644 --- a/src/Appwrite/SDK/Specification/Format.php +++ b/src/Appwrite/SDK/Specification/Format.php @@ -112,6 +112,35 @@ abstract class Format return $this->params[$key] ?? $default; } + /** + * Set Services. + * + * Set services value + * + * @param array $services + * + * @return self + */ + public function setServices(array $services): self + { + $this->services = $services; + return $this; + } + + /** + * Set Services. + * + * Get services value + * + * @param array $services + * + * @return self + */ + public function getServices(): array + { + return $this->services; + } + protected function getRequestEnumName(string $service, string $method, string $param): ?string { /* `$service` is `$namespace` */ diff --git a/src/Appwrite/SDK/Specification/Format/OpenAPI3.php b/src/Appwrite/SDK/Specification/Format/OpenAPI3.php index e5790484c1..d26b582d3a 100644 --- a/src/Appwrite/SDK/Specification/Format/OpenAPI3.php +++ b/src/Appwrite/SDK/Specification/Format/OpenAPI3.php @@ -2,6 +2,7 @@ namespace Appwrite\SDK\Specification\Format; +use Appwrite\Platform\Tasks\Specs; use Appwrite\SDK\AuthType; use Appwrite\SDK\Method; use Appwrite\SDK\MethodType; @@ -118,27 +119,9 @@ class OpenAPI3 extends Format $desc = $sdk->getDescriptionFilePath() ?: $sdk->getDescription(); $produces = ($sdk->getContentType())->value; $routeSecurity = $sdk->getAuth() ?? []; - $sdkPlatforms = []; - foreach ($routeSecurity as $value) { - switch ($value) { - case AuthType::SESSION: - $sdkPlatforms[] = APP_PLATFORM_CLIENT; - break; - case AuthType::JWT: - case AuthType::KEY: - $sdkPlatforms[] = APP_PLATFORM_SERVER; - break; - case AuthType::ADMIN: - $sdkPlatforms[] = APP_PLATFORM_CONSOLE; - break; - } - } - - if (empty($routeSecurity)) { - $sdkPlatforms[] = APP_PLATFORM_SERVER; - $sdkPlatforms[] = APP_PLATFORM_CLIENT; - } + $specs = new Specs(); + $sdkPlatforms = $specs->getSDKPlatformsForRouteSecurity($routeSecurity); $namespace = $sdk->getNamespace() ?? 'default'; @@ -184,28 +167,9 @@ class OpenAPI3 extends Format $desc = $methodObj->getDescriptionFilePath(); $methodSecurities = $methodObj->getAuth(); - $methodSdkPlatforms = []; - foreach ($methodSecurities as $value) { - switch ($value) { - case AuthType::SESSION: - $methodSdkPlatforms[] = APP_PLATFORM_CLIENT; - break; - case AuthType::JWT: - case AuthType::KEY: - $methodSdkPlatforms[] = APP_PLATFORM_SERVER; - break; - case AuthType::ADMIN: - $methodSdkPlatforms[] = APP_PLATFORM_CONSOLE; - break; - } - } + $methodSdkPlatforms = $specs->getSDKPlatformsForRouteSecurity($methodSecurities); - if (empty($methodSecurities)) { - $methodSdkPlatforms[] = APP_PLATFORM_SERVER; - $methodSdkPlatforms[] = APP_PLATFORM_CLIENT; - } - - if ($this->platform !== APP_PLATFORM_CONSOLE && !\in_array($this->platform, $methodSdkPlatforms)) { + if (!\in_array($this->platform, $methodSdkPlatforms)) { continue; } diff --git a/src/Appwrite/SDK/Specification/Format/Swagger2.php b/src/Appwrite/SDK/Specification/Format/Swagger2.php index 51b972ca0b..97f63a4009 100644 --- a/src/Appwrite/SDK/Specification/Format/Swagger2.php +++ b/src/Appwrite/SDK/Specification/Format/Swagger2.php @@ -2,6 +2,7 @@ namespace Appwrite\SDK\Specification\Format; +use Appwrite\Platform\Tasks\Specs; use Appwrite\SDK\AuthType; use Appwrite\SDK\Method; use Appwrite\SDK\MethodType; @@ -119,27 +120,9 @@ class Swagger2 extends Format $desc = $sdk->getDescriptionFilePath() ?: $sdk->getDescription(); $produces = ($sdk->getContentType())->value; $routeSecurity = $sdk->getAuth() ?? []; - $sdkPlatforms = []; - foreach ($routeSecurity as $value) { - switch ($value) { - case AuthType::SESSION: - $sdkPlatforms[] = APP_PLATFORM_CLIENT; - break; - case AuthType::JWT: - case AuthType::KEY: - $sdkPlatforms[] = APP_PLATFORM_SERVER; - break; - case AuthType::ADMIN: - $sdkPlatforms[] = APP_PLATFORM_CONSOLE; - break; - } - } - - if (empty($routeSecurity)) { - $sdkPlatforms[] = APP_PLATFORM_SERVER; - $sdkPlatforms[] = APP_PLATFORM_CLIENT; - } + $specs = new Specs(); + $sdkPlatforms = $specs->getSDKPlatformsForRouteSecurity($routeSecurity); $sdkPlatforms = array_values(array_unique($sdkPlatforms)); $namespace = $sdk->getNamespace() ?? 'default'; @@ -192,28 +175,9 @@ class Swagger2 extends Format $desc = $methodObj->getDescriptionFilePath(); $methodSecurities = $methodObj->getAuth(); - $methodSdkPlatforms = []; - foreach ($methodSecurities as $value) { - switch ($value) { - case AuthType::SESSION: - $methodSdkPlatforms[] = APP_PLATFORM_CLIENT; - break; - case AuthType::JWT: - case AuthType::KEY: - $methodSdkPlatforms[] = APP_PLATFORM_SERVER; - break; - case AuthType::ADMIN: - $methodSdkPlatforms[] = APP_PLATFORM_CONSOLE; - break; - } - } + $methodSdkPlatforms = $specs->getSDKPlatformsForRouteSecurity($methodSecurities); - if (empty($methodSecurities)) { - $methodSdkPlatforms[] = APP_PLATFORM_SERVER; - $methodSdkPlatforms[] = APP_PLATFORM_CLIENT; - } - - if ($this->platform !== APP_PLATFORM_CONSOLE && !\in_array($this->platform, $methodSdkPlatforms)) { + if (!\in_array($this->platform, $methodSdkPlatforms)) { continue; } From b83125a41ec806321a26ade27a8e6a195f5d5575 Mon Sep 17 00:00:00 2001 From: Damodar Lohani Date: Sun, 14 Dec 2025 07:22:39 +0000 Subject: [PATCH 062/220] Fix audits creation --- app/controllers/api/projects.php | 8 +++++--- composer.lock | 22 +++++++++++----------- src/Appwrite/Platform/Workers/Deletes.php | 6 +++--- 3 files changed, 19 insertions(+), 17 deletions(-) diff --git a/app/controllers/api/projects.php b/app/controllers/api/projects.php index 364a7914b4..ed6fa20eba 100644 --- a/app/controllers/api/projects.php +++ b/app/controllers/api/projects.php @@ -21,6 +21,7 @@ use Appwrite\Utopia\Request; use Appwrite\Utopia\Response; use PHPMailer\PHPMailer\PHPMailer; use Utopia\App; +use Utopia\Audit\Adapter\Database as AdapterDatabase; use Utopia\Audit\Audit; use Utopia\Cache\Cache; use Utopia\Config\Config; @@ -247,14 +248,15 @@ App::post('/v1/projects') } if ($create || $projectTables) { - $adapter = new \Utopia\Audit\Adapters\Database($dbForProject); + $adapter = new AdapterDatabase($dbForProject); $audit = new Audit($adapter); $audit->setup(); } if (!$create && $sharedTablesV1) { - $attributes = \array_map(fn ($attribute) => new Document($attribute), Audit::ATTRIBUTES); - $indexes = \array_map(fn (array $index) => new Document($index), Audit::INDEXES); + $adapter = new AdapterDatabase($dbForProject); + $attributes = $adapter->getAttributeDocuments(); + $indexes = $adapter->getIndexDocuments(); $dbForProject->createDocument(Database::METADATA, new Document([ '$id' => ID::custom('audit'), '$permissions' => [Permission::create(Role::any())], diff --git a/composer.lock b/composer.lock index 3e6b49307f..279ad2427b 100644 --- a/composer.lock +++ b/composer.lock @@ -2453,20 +2453,20 @@ }, { "name": "ramsey/uuid", - "version": "4.9.1", + "version": "4.9.2", "source": { "type": "git", "url": "https://github.com/ramsey/uuid.git", - "reference": "81f941f6f729b1e3ceea61d9d014f8b6c6800440" + "reference": "8429c78ca35a09f27565311b98101e2826affde0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/uuid/zipball/81f941f6f729b1e3ceea61d9d014f8b6c6800440", - "reference": "81f941f6f729b1e3ceea61d9d014f8b6c6800440", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/8429c78ca35a09f27565311b98101e2826affde0", + "reference": "8429c78ca35a09f27565311b98101e2826affde0", "shasum": "" }, "require": { - "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11 || ^0.12 || ^0.13 || ^0.14", + "brick/math": "^0.8.16 || ^0.9 || ^0.10 || ^0.11 || ^0.12 || ^0.13 || ^0.14", "php": "^8.0", "ramsey/collection": "^1.2 || ^2.0" }, @@ -2525,9 +2525,9 @@ ], "support": { "issues": "https://github.com/ramsey/uuid/issues", - "source": "https://github.com/ramsey/uuid/tree/4.9.1" + "source": "https://github.com/ramsey/uuid/tree/4.9.2" }, - "time": "2025-09-04T20:59:21+00:00" + "time": "2025-12-14T04:43:48+00:00" }, { "name": "spomky-labs/otphp", @@ -3556,12 +3556,12 @@ "source": { "type": "git", "url": "https://github.com/utopia-php/audit.git", - "reference": "5b5a5440eb37ee6c6b7fc717868e6965b19c003f" + "reference": "bea15e59f63d1b0fceabf53bf73bed3962d176d5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/utopia-php/audit/zipball/5b5a5440eb37ee6c6b7fc717868e6965b19c003f", - "reference": "5b5a5440eb37ee6c6b7fc717868e6965b19c003f", + "url": "https://api.github.com/repos/utopia-php/audit/zipball/bea15e59f63d1b0fceabf53bf73bed3962d176d5", + "reference": "bea15e59f63d1b0fceabf53bf73bed3962d176d5", "shasum": "" }, "require": { @@ -3597,7 +3597,7 @@ "issues": "https://github.com/utopia-php/audit/issues", "source": "https://github.com/utopia-php/audit/tree/feat-db-3.x" }, - "time": "2025-12-14T02:29:51+00:00" + "time": "2025-12-14T06:56:09+00:00" }, { "name": "utopia-php/auth", diff --git a/src/Appwrite/Platform/Workers/Deletes.php b/src/Appwrite/Platform/Workers/Deletes.php index 38624367c9..40e8d45153 100644 --- a/src/Appwrite/Platform/Workers/Deletes.php +++ b/src/Appwrite/Platform/Workers/Deletes.php @@ -9,7 +9,7 @@ use Appwrite\Extend\Exception; use Executor\Executor; use Throwable; use Utopia\Abuse\Adapters\TimeLimit\Database as AbuseDatabase; -use Utopia\Audit\Audit; +use Utopia\Audit\Adapter\SQL; use Utopia\Cache\Adapter\Filesystem; use Utopia\Cache\Cache; use Utopia\CLI\Console; @@ -517,7 +517,7 @@ class Deletes extends Action $projectCollectionIds = [ ...\array_keys(Config::getParam('collections', [])['projects']), - Audit::COLLECTION, + SQL::COLLECTION, AbuseDatabase::COLLECTION, ]; @@ -786,7 +786,7 @@ class Deletes extends Action $dbForProject = $getProjectDB($project); try { - $this->deleteByGroup(Audit::COLLECTION, [ + $this->deleteByGroup(SQL::COLLECTION, [ Query::select([...$this->selects, 'time']), Query::lessThan('time', $auditRetention), Query::orderDesc('time'), From f270e47b48ba7450bdf0c6d6f2e8ca40a89cea85 Mon Sep 17 00:00:00 2001 From: Damodar Lohani Date: Sun, 14 Dec 2025 07:50:21 +0000 Subject: [PATCH 063/220] more fixes to audit queries --- app/controllers/api/account.php | 10 +++++---- app/controllers/api/messaging.php | 22 ++++++++++++++----- app/controllers/api/teams.php | 7 ++++-- .../Collections/Documents/Logs/XList.php | 7 ++++-- .../Http/Databases/Collections/Logs/XList.php | 17 ++++++++------ .../Databases/Http/Databases/Logs/XList.php | 17 ++++++++------ .../Databases/Http/TablesDB/Logs/XList.php | 17 ++++++++------ 7 files changed, 62 insertions(+), 35 deletions(-) diff --git a/app/controllers/api/account.php b/app/controllers/api/account.php index ada4a98de9..df1c6a35aa 100644 --- a/app/controllers/api/account.php +++ b/app/controllers/api/account.php @@ -2972,7 +2972,8 @@ App::get('/v1/account/logs') ->inject('locale') ->inject('geodb') ->inject('dbForProject') - ->action(function (array $queries, bool $includeTotal, Response $response, Document $user, Locale $locale, Reader $geodb, Database $dbForProject) { + ->inject('audit') + ->action(function (array $queries, bool $includeTotal, Response $response, Document $user, Locale $locale, Reader $geodb, Database $dbForProject, Audit $audit) { try { $queries = Query::parseQueries($queries); @@ -2980,9 +2981,10 @@ App::get('/v1/account/logs') throw new Exception(Exception::GENERAL_QUERY_INVALID, $e->getMessage()); } - $audit = new EventAudit($dbForProject); - - $logs = $audit->getLogsByUser($user->getSequence(), $queries); + $grouped = Query::groupByType($queries); + $limit = $grouped['limit'] ?? 25; + $offset = $grouped['offset'] ?? 0; + $logs = $audit->getLogsByUser($user->getSequence(), offset: $offset, limit: $limit); $output = []; diff --git a/app/controllers/api/messaging.php b/app/controllers/api/messaging.php index eed12c3376..72abce087b 100644 --- a/app/controllers/api/messaging.php +++ b/app/controllers/api/messaging.php @@ -1211,7 +1211,7 @@ App::get('/v1/messaging/providers/:providerId/logs') } $response->dynamic(new Document([ - 'total' => $includeTotal ? $audit->countLogsByResource($resource, $queries) : 0, + 'total' => $includeTotal ? $audit->countLogsByResource($resource, $filterQueries) : 0, 'logs' => $output, ]), Response::MODEL_LOG_LIST); }); @@ -2568,7 +2568,10 @@ App::get('/v1/messaging/topics/:topicId/logs') } $resource = 'topic/' . $topicId; - $logs = $audit->getLogsByResource($resource, $queries); + $grouped = Query::groupByType($queries); + $limit = $grouped['limit'] ?? 25; + $offset = $grouped['offset'] ?? 0; + $logs = $audit->getLogsByResource($resource, offset: $offset, limit: $limit); $output = []; @@ -2616,7 +2619,7 @@ App::get('/v1/messaging/topics/:topicId/logs') } $response->dynamic(new Document([ - 'total' => $includeTotal ? $audit->countLogsByResource($resource, $queries) : 0, + 'total' => $includeTotal ? $audit->countLogsByResource($resource) : 0, 'logs' => $output, ]), Response::MODEL_LOG_LIST); }); @@ -2985,7 +2988,10 @@ App::get('/v1/messaging/subscribers/:subscriberId/logs') } $resource = 'subscriber/' . $subscriberId; - $logs = $audit->getLogsByResource($resource, $queries); + $grouped = Query::groupByType($queries); + $limit = $grouped['limit'] ?? 25; + $offset = $grouped['offset'] ?? 0; + $logs = $audit->getLogsByResource($resource, offset: $offset, limit: $limit); $output = []; @@ -3033,7 +3039,7 @@ App::get('/v1/messaging/subscribers/:subscriberId/logs') } $response->dynamic(new Document([ - 'total' => $includeTotal ? $audit->countLogsByResource($resource, $queries) : 0, + 'total' => $includeTotal ? $audit->countLogsByResource($resource) : 0, 'logs' => $output, ]), Response::MODEL_LOG_LIST); }); @@ -3780,7 +3786,11 @@ App::get('/v1/messaging/messages/:messageId/logs') } $resource = 'message/' . $messageId; - $logs = $audit->getLogsByResource($resource, $queries); + $grouped = Query::groupByType($queries); + $limit = $grouped['limit'] ?? 25; + $offset = $grouped['offset'] ?? 0; + $filterQueries = $grouped['filters'] ?? []; + $logs = $audit->getLogsByResource($resource, offset: $offset, limit: $limit); $output = []; diff --git a/app/controllers/api/teams.php b/app/controllers/api/teams.php index 04a43577ad..cc35f0d264 100644 --- a/app/controllers/api/teams.php +++ b/app/controllers/api/teams.php @@ -1480,7 +1480,10 @@ App::get('/v1/teams/:teamId/logs') } $resource = 'team/' . $team->getId(); - $logs = $audit->getLogsByResource($resource, $queries); + $grouped = Query::groupByType($queries); + $limit = $grouped['limit'] ?? 25; + $offset = $grouped['offset'] ?? 0; + $logs = $audit->getLogsByResource($resource, offset: $offset, limit: $limit); $output = []; @@ -1527,7 +1530,7 @@ App::get('/v1/teams/:teamId/logs') } } $response->dynamic(new Document([ - 'total' => $includeTotal ? $audit->countLogsByResource($resource, $queries) : 0, + 'total' => $includeTotal ? $audit->countLogsByResource($resource) : 0, 'logs' => $output, ]), Response::MODEL_LOG_LIST); }); diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Logs/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Logs/XList.php index 292bed4c36..e0b595ebd1 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Logs/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Logs/XList.php @@ -103,7 +103,10 @@ class XList extends Action $context = $this->getContext(); $resource = "database/$databaseId/$type/$collectionId/$context/{$document->getId()}"; - $logs = $audit->getLogsByResource($resource, $queries); + $grouped = Query::groupByType($queries); + $limit = $grouped['limit'] ?? 25; + $offset = $grouped['offset'] ?? 0; + $logs = $audit->getLogsByResource($resource, offset: $offset, limit: $limit); $output = []; @@ -152,7 +155,7 @@ class XList extends Action $response->dynamic(new Document([ 'logs' => $output, - 'total' => $audit->countLogsByResource($resource, $queries), + 'total' => $audit->countLogsByResource($resource), ]), $this->getResponseModel()); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Logs/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Logs/XList.php index 2244bfd2d7..73c615697a 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Logs/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Logs/XList.php @@ -67,11 +67,11 @@ class XList extends Action ->param('databaseId', '', new UID(), 'Database ID.') ->param('collectionId', '', new UID(), 'Collection ID.') ->param('queries', [], new Queries([new Limit(), new Offset()]), 'Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Only supported methods are limit and offset', true) - ->inject('response') - ->inject('dbForProject') - ->inject('locale') - ->inject('geodb') - ->inject('audit') + ->inject('response') + ->inject('dbForProject') + ->inject('locale') + ->inject('geodb') + ->inject('audit') ->callback($this->action(...)); } @@ -98,7 +98,10 @@ class XList extends Action $context = $this->getContext(); $resource = "database/$databaseId/$context/$collectionId"; - $logs = $audit->getLogsByResource($resource, $queries); + $grouped = Query::groupByType($queries); + $limit = $grouped['limit'] ?? 25; + $offset = $grouped['offset'] ?? 0; + $logs = $audit->getLogsByResource($resource, offset: $offset, limit: $limit); $output = []; @@ -147,7 +150,7 @@ class XList extends Action $response->dynamic(new Document([ 'logs' => $output, - 'total' => $audit->countLogsByResource($resource, $queries), + 'total' => $audit->countLogsByResource($resource), ]), $this->getResponseModel()); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Logs/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Logs/XList.php index be30a0fad8..1d828977c4 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Logs/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Logs/XList.php @@ -63,11 +63,11 @@ class XList extends Action ]) ->param('databaseId', '', new UID(), 'Database ID.') ->param('queries', [], new Queries([new Limit(), new Offset()]), 'Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Only supported methods are limit and offset', true) - ->inject('response') - ->inject('dbForProject') - ->inject('locale') - ->inject('geodb') - ->inject('audit') + ->inject('response') + ->inject('dbForProject') + ->inject('locale') + ->inject('geodb') + ->inject('audit') ->callback($this->action(...)); } @@ -86,7 +86,10 @@ class XList extends Action } $resource = 'database/' . $databaseId; - $logs = $audit->getLogsByResource($resource, $queries); + $grouped = Query::groupByType($queries); + $limit = $grouped['limit'] ?? 25; + $offset = $grouped['offset'] ?? 0; + $logs = $audit->getLogsByResource($resource, offset: $offset, limit: $limit); $output = []; @@ -133,7 +136,7 @@ class XList extends Action } $response->dynamic(new Document([ - 'total' => $audit->countLogsByResource($resource, $queries), + 'total' => $audit->countLogsByResource($resource), 'logs' => $output, ]), UtopiaResponse::MODEL_LOG_LIST); } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Logs/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Logs/XList.php index ed2aaa848c..b37d38dfe1 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Logs/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Logs/XList.php @@ -58,11 +58,11 @@ class XList extends Action ]) ->param('databaseId', '', new UID(), 'Database ID.') ->param('queries', [], new Queries([new Limit(), new Offset()]), 'Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Only supported methods are limit and offset', true) - ->inject('response') - ->inject('dbForProject') - ->inject('locale') - ->inject('geodb') - ->inject('audit') + ->inject('response') + ->inject('dbForProject') + ->inject('locale') + ->inject('geodb') + ->inject('audit') ->callback($this->action(...)); } @@ -81,7 +81,10 @@ class XList extends Action } $resource = 'database/' . $databaseId; - $logs = $audit->getLogsByResource($resource, $queries); + $grouped = Query::groupByType($queries); + $limit = $grouped['limit'] ?? 25; + $offset = $grouped['offset'] ?? 0; + $logs = $audit->getLogsByResource($resource, offset: $offset, limit: $limit); $output = []; @@ -128,7 +131,7 @@ class XList extends Action } $response->dynamic(new Document([ - 'total' => $audit->countLogsByResource($resource, $queries), + 'total' => $audit->countLogsByResource($resource), 'logs' => $output, ]), UtopiaResponse::MODEL_LOG_LIST); } From 1199c1fc5240328b0305d8bd35d14acd7267596d Mon Sep 17 00:00:00 2001 From: Damodar Lohani Date: Sun, 14 Dec 2025 07:57:37 +0000 Subject: [PATCH 064/220] fix typo --- src/Appwrite/Platform/Workers/Audits.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Appwrite/Platform/Workers/Audits.php b/src/Appwrite/Platform/Workers/Audits.php index 369a67116d..c64591632d 100644 --- a/src/Appwrite/Platform/Workers/Audits.php +++ b/src/Appwrite/Platform/Workers/Audits.php @@ -4,7 +4,7 @@ namespace Appwrite\Platform\Workers; use Exception; use Throwable; -use Utopia\Audit\Adapters\Database as AdapterDatabase; +use Utopia\Audit\Adapter\Database as AdapterDatabase; use Utopia\Audit\Audit; use Utopia\CLI\Console; use Utopia\Database\Document; From 667285d53606df7b879016a8b1478005b918a4bc Mon Sep 17 00:00:00 2001 From: Damodar Lohani Date: Sun, 14 Dec 2025 07:58:16 +0000 Subject: [PATCH 065/220] fix tyupe --- app/controllers/api/account.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/api/account.php b/app/controllers/api/account.php index df1c6a35aa..62bc4231b6 100644 --- a/app/controllers/api/account.php +++ b/app/controllers/api/account.php @@ -37,7 +37,7 @@ use libphonenumber\PhoneNumberUtil; use MaxMind\Db\Reader; use Utopia\Abuse\Abuse; use Utopia\App; -use Utopia\Audit\Audit as EventAudit; +use Utopia\Audit\Audit; use Utopia\Auth\Hashes\Sha; use Utopia\Auth\Proofs\Code as ProofsCode; use Utopia\Auth\Proofs\Password as ProofsPassword; From 2043470bd01936d8d2c4df14c3dc352e8b661908 Mon Sep 17 00:00:00 2001 From: Damodar Lohani Date: Sun, 14 Dec 2025 08:00:31 +0000 Subject: [PATCH 066/220] fix typo --- app/controllers/api/account.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/api/account.php b/app/controllers/api/account.php index 62bc4231b6..c40c374c91 100644 --- a/app/controllers/api/account.php +++ b/app/controllers/api/account.php @@ -3013,7 +3013,7 @@ App::get('/v1/account/logs') } $response->dynamic(new Document([ - 'total' => $includeTotal ? $audit->countLogsByUser($user->getSequence(), $queries) : 0, + 'total' => $includeTotal ? $audit->countLogsByUser($user->getSequence()) : 0, 'logs' => $output, ]), Response::MODEL_LOG_LIST); }); From 2437d2be779c3176dc23d1301fc7f560f0d1e4a0 Mon Sep 17 00:00:00 2001 From: Damodar Lohani Date: Sun, 14 Dec 2025 08:30:22 +0000 Subject: [PATCH 067/220] Upgrade audit and fix --- composer.lock | 8 ++++---- src/Appwrite/Platform/Workers/Audits.php | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/composer.lock b/composer.lock index 279ad2427b..e0633c82dc 100644 --- a/composer.lock +++ b/composer.lock @@ -3556,12 +3556,12 @@ "source": { "type": "git", "url": "https://github.com/utopia-php/audit.git", - "reference": "bea15e59f63d1b0fceabf53bf73bed3962d176d5" + "reference": "a83dec21b3b9b7fc85fd8cf92563b2fd174a39cb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/utopia-php/audit/zipball/bea15e59f63d1b0fceabf53bf73bed3962d176d5", - "reference": "bea15e59f63d1b0fceabf53bf73bed3962d176d5", + "url": "https://api.github.com/repos/utopia-php/audit/zipball/a83dec21b3b9b7fc85fd8cf92563b2fd174a39cb", + "reference": "a83dec21b3b9b7fc85fd8cf92563b2fd174a39cb", "shasum": "" }, "require": { @@ -3597,7 +3597,7 @@ "issues": "https://github.com/utopia-php/audit/issues", "source": "https://github.com/utopia-php/audit/tree/feat-db-3.x" }, - "time": "2025-12-14T06:56:09+00:00" + "time": "2025-12-14T08:29:40+00:00" }, { "name": "utopia-php/auth", diff --git a/src/Appwrite/Platform/Workers/Audits.php b/src/Appwrite/Platform/Workers/Audits.php index c64591632d..3349367adf 100644 --- a/src/Appwrite/Platform/Workers/Audits.php +++ b/src/Appwrite/Platform/Workers/Audits.php @@ -103,7 +103,7 @@ class Audits extends Action 'mode' => $mode, 'data' => $auditPayload, ], - 'timestamp' => date("Y-m-d H:i:s", $message->getTimestamp()), + 'time' => date("Y-m-d H:i:s", $message->getTimestamp()), ]; if (isset($this->logs[$project->getSequence()])) { From 99966b5a247cc05507bb935ea4cc66e26474d857 Mon Sep 17 00:00:00 2001 From: Damodar Lohani Date: Sun, 14 Dec 2025 08:35:40 +0000 Subject: [PATCH 068/220] upgrade audit --- composer.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/composer.lock b/composer.lock index e0633c82dc..1f0fdc69e0 100644 --- a/composer.lock +++ b/composer.lock @@ -3556,12 +3556,12 @@ "source": { "type": "git", "url": "https://github.com/utopia-php/audit.git", - "reference": "a83dec21b3b9b7fc85fd8cf92563b2fd174a39cb" + "reference": "c0a0d1679231c4c979f950458c273b04971b5f08" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/utopia-php/audit/zipball/a83dec21b3b9b7fc85fd8cf92563b2fd174a39cb", - "reference": "a83dec21b3b9b7fc85fd8cf92563b2fd174a39cb", + "url": "https://api.github.com/repos/utopia-php/audit/zipball/c0a0d1679231c4c979f950458c273b04971b5f08", + "reference": "c0a0d1679231c4c979f950458c273b04971b5f08", "shasum": "" }, "require": { @@ -3597,7 +3597,7 @@ "issues": "https://github.com/utopia-php/audit/issues", "source": "https://github.com/utopia-php/audit/tree/feat-db-3.x" }, - "time": "2025-12-14T08:29:40+00:00" + "time": "2025-12-14T08:34:27+00:00" }, { "name": "utopia-php/auth", From 1a205c3f3ba765ad19890cd1e1e2bb20c938ee08 Mon Sep 17 00:00:00 2001 From: Damodar Lohani Date: Sun, 14 Dec 2025 08:50:39 +0000 Subject: [PATCH 069/220] upgrade audit --- composer.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/composer.lock b/composer.lock index 1f0fdc69e0..0a6a2a1f72 100644 --- a/composer.lock +++ b/composer.lock @@ -3556,12 +3556,12 @@ "source": { "type": "git", "url": "https://github.com/utopia-php/audit.git", - "reference": "c0a0d1679231c4c979f950458c273b04971b5f08" + "reference": "4f77e217c86f0cb27d2b51b5e462411ae3579f80" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/utopia-php/audit/zipball/c0a0d1679231c4c979f950458c273b04971b5f08", - "reference": "c0a0d1679231c4c979f950458c273b04971b5f08", + "url": "https://api.github.com/repos/utopia-php/audit/zipball/4f77e217c86f0cb27d2b51b5e462411ae3579f80", + "reference": "4f77e217c86f0cb27d2b51b5e462411ae3579f80", "shasum": "" }, "require": { @@ -3597,7 +3597,7 @@ "issues": "https://github.com/utopia-php/audit/issues", "source": "https://github.com/utopia-php/audit/tree/feat-db-3.x" }, - "time": "2025-12-14T08:34:27+00:00" + "time": "2025-12-14T08:49:56+00:00" }, { "name": "utopia-php/auth", From 6aafe2dd1219905741d31b28def06ae8d25a31da Mon Sep 17 00:00:00 2001 From: fogelito Date: Sun, 14 Dec 2025 19:41:33 +0200 Subject: [PATCH 070/220] cleanup --- src/Appwrite/Platform/Workers/Migrations.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/Appwrite/Platform/Workers/Migrations.php b/src/Appwrite/Platform/Workers/Migrations.php index a10ddc4904..5d880f9baf 100644 --- a/src/Appwrite/Platform/Workers/Migrations.php +++ b/src/Appwrite/Platform/Workers/Migrations.php @@ -418,6 +418,10 @@ class Migrations extends Action $this->handleCSVExportComplete($project, $migration, $queueForMails, $queueForRealtime); } } + + $transfer = null; + $source = null; + $destination = null; } } From da0b2a751757055902e5595d7d7d71bb5ebd4967 Mon Sep 17 00:00:00 2001 From: loks0n <22452787+loks0n@users.noreply.github.com> Date: Sun, 14 Dec 2025 22:41:15 +0000 Subject: [PATCH 071/220] fix: cors wildcard --- src/Appwrite/Network/Cors.php | 5 ++++- tests/unit/Network/CorsTest.php | 15 +++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/Appwrite/Network/Cors.php b/src/Appwrite/Network/Cors.php index 88d0158379..9fc47c5808 100644 --- a/src/Appwrite/Network/Cors.php +++ b/src/Appwrite/Network/Cors.php @@ -2,6 +2,8 @@ namespace Appwrite\Network; +use Utopia\Validator\Hostname; + /** * Generate CORS response headers for an incoming request. * @@ -76,7 +78,8 @@ final class Cors } // Match only by host - if (!\in_array($host, $this->allowedHosts, true)) { + $validator = new Hostname($this->allowedHosts); + if (!$validator->isValid($host)) { return $headers; } diff --git a/tests/unit/Network/CorsTest.php b/tests/unit/Network/CorsTest.php index 521bf21f1e..986e48ebb5 100644 --- a/tests/unit/Network/CorsTest.php +++ b/tests/unit/Network/CorsTest.php @@ -36,6 +36,21 @@ final class CorsTest extends TestCase $this->assertSame('https://foo.com', $result[Cors::HEADER_ALLOW_ORIGIN]); } + public function testSubdomainWildcardAllowsAnySubdomain(): void + { + $cors = new Cors( + allowedHosts: ['*.example.com'], + allowedMethods: ['GET'], + allowedHeaders: ['X-Test'], + exposedHeaders: [], + allowCredentials: false + ); + + $result = $cors->headers('https://foo.example.com'); + + $this->assertSame('https://foo.example.com', $result[Cors::HEADER_ALLOW_ORIGIN]); + } + public function testEmptyOriginReturnsStaticHeadersOnly(): void { $cors = new Cors( From 0037305e16be571e8ccb42c1097a7eac461694b2 Mon Sep 17 00:00:00 2001 From: Damodar Lohani Date: Mon, 15 Dec 2025 02:12:35 +0000 Subject: [PATCH 072/220] Fix: failing tests --- app/controllers/api/messaging.php | 22 +++++-------------- app/controllers/api/projects.php | 8 +++---- app/controllers/api/teams.php | 7 ++---- .../Collections/Documents/Logs/XList.php | 7 ++---- .../Http/Databases/Collections/Logs/XList.php | 17 ++++++-------- .../Databases/Http/Databases/Logs/XList.php | 19 +++++++--------- .../Databases/Http/TablesDB/Logs/XList.php | 17 ++++++-------- src/Appwrite/Platform/Workers/Audits.php | 4 ++-- .../Account/AccountCustomClientTest.php | 2 ++ 9 files changed, 39 insertions(+), 64 deletions(-) diff --git a/app/controllers/api/messaging.php b/app/controllers/api/messaging.php index 72abce087b..eed12c3376 100644 --- a/app/controllers/api/messaging.php +++ b/app/controllers/api/messaging.php @@ -1211,7 +1211,7 @@ App::get('/v1/messaging/providers/:providerId/logs') } $response->dynamic(new Document([ - 'total' => $includeTotal ? $audit->countLogsByResource($resource, $filterQueries) : 0, + 'total' => $includeTotal ? $audit->countLogsByResource($resource, $queries) : 0, 'logs' => $output, ]), Response::MODEL_LOG_LIST); }); @@ -2568,10 +2568,7 @@ App::get('/v1/messaging/topics/:topicId/logs') } $resource = 'topic/' . $topicId; - $grouped = Query::groupByType($queries); - $limit = $grouped['limit'] ?? 25; - $offset = $grouped['offset'] ?? 0; - $logs = $audit->getLogsByResource($resource, offset: $offset, limit: $limit); + $logs = $audit->getLogsByResource($resource, $queries); $output = []; @@ -2619,7 +2616,7 @@ App::get('/v1/messaging/topics/:topicId/logs') } $response->dynamic(new Document([ - 'total' => $includeTotal ? $audit->countLogsByResource($resource) : 0, + 'total' => $includeTotal ? $audit->countLogsByResource($resource, $queries) : 0, 'logs' => $output, ]), Response::MODEL_LOG_LIST); }); @@ -2988,10 +2985,7 @@ App::get('/v1/messaging/subscribers/:subscriberId/logs') } $resource = 'subscriber/' . $subscriberId; - $grouped = Query::groupByType($queries); - $limit = $grouped['limit'] ?? 25; - $offset = $grouped['offset'] ?? 0; - $logs = $audit->getLogsByResource($resource, offset: $offset, limit: $limit); + $logs = $audit->getLogsByResource($resource, $queries); $output = []; @@ -3039,7 +3033,7 @@ App::get('/v1/messaging/subscribers/:subscriberId/logs') } $response->dynamic(new Document([ - 'total' => $includeTotal ? $audit->countLogsByResource($resource) : 0, + 'total' => $includeTotal ? $audit->countLogsByResource($resource, $queries) : 0, 'logs' => $output, ]), Response::MODEL_LOG_LIST); }); @@ -3786,11 +3780,7 @@ App::get('/v1/messaging/messages/:messageId/logs') } $resource = 'message/' . $messageId; - $grouped = Query::groupByType($queries); - $limit = $grouped['limit'] ?? 25; - $offset = $grouped['offset'] ?? 0; - $filterQueries = $grouped['filters'] ?? []; - $logs = $audit->getLogsByResource($resource, offset: $offset, limit: $limit); + $logs = $audit->getLogsByResource($resource, $queries); $output = []; diff --git a/app/controllers/api/projects.php b/app/controllers/api/projects.php index ed6fa20eba..364a7914b4 100644 --- a/app/controllers/api/projects.php +++ b/app/controllers/api/projects.php @@ -21,7 +21,6 @@ use Appwrite\Utopia\Request; use Appwrite\Utopia\Response; use PHPMailer\PHPMailer\PHPMailer; use Utopia\App; -use Utopia\Audit\Adapter\Database as AdapterDatabase; use Utopia\Audit\Audit; use Utopia\Cache\Cache; use Utopia\Config\Config; @@ -248,15 +247,14 @@ App::post('/v1/projects') } if ($create || $projectTables) { - $adapter = new AdapterDatabase($dbForProject); + $adapter = new \Utopia\Audit\Adapters\Database($dbForProject); $audit = new Audit($adapter); $audit->setup(); } if (!$create && $sharedTablesV1) { - $adapter = new AdapterDatabase($dbForProject); - $attributes = $adapter->getAttributeDocuments(); - $indexes = $adapter->getIndexDocuments(); + $attributes = \array_map(fn ($attribute) => new Document($attribute), Audit::ATTRIBUTES); + $indexes = \array_map(fn (array $index) => new Document($index), Audit::INDEXES); $dbForProject->createDocument(Database::METADATA, new Document([ '$id' => ID::custom('audit'), '$permissions' => [Permission::create(Role::any())], diff --git a/app/controllers/api/teams.php b/app/controllers/api/teams.php index cc35f0d264..04a43577ad 100644 --- a/app/controllers/api/teams.php +++ b/app/controllers/api/teams.php @@ -1480,10 +1480,7 @@ App::get('/v1/teams/:teamId/logs') } $resource = 'team/' . $team->getId(); - $grouped = Query::groupByType($queries); - $limit = $grouped['limit'] ?? 25; - $offset = $grouped['offset'] ?? 0; - $logs = $audit->getLogsByResource($resource, offset: $offset, limit: $limit); + $logs = $audit->getLogsByResource($resource, $queries); $output = []; @@ -1530,7 +1527,7 @@ App::get('/v1/teams/:teamId/logs') } } $response->dynamic(new Document([ - 'total' => $includeTotal ? $audit->countLogsByResource($resource) : 0, + 'total' => $includeTotal ? $audit->countLogsByResource($resource, $queries) : 0, 'logs' => $output, ]), Response::MODEL_LOG_LIST); }); diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Logs/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Logs/XList.php index e0b595ebd1..292bed4c36 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Logs/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Logs/XList.php @@ -103,10 +103,7 @@ class XList extends Action $context = $this->getContext(); $resource = "database/$databaseId/$type/$collectionId/$context/{$document->getId()}"; - $grouped = Query::groupByType($queries); - $limit = $grouped['limit'] ?? 25; - $offset = $grouped['offset'] ?? 0; - $logs = $audit->getLogsByResource($resource, offset: $offset, limit: $limit); + $logs = $audit->getLogsByResource($resource, $queries); $output = []; @@ -155,7 +152,7 @@ class XList extends Action $response->dynamic(new Document([ 'logs' => $output, - 'total' => $audit->countLogsByResource($resource), + 'total' => $audit->countLogsByResource($resource, $queries), ]), $this->getResponseModel()); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Logs/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Logs/XList.php index 73c615697a..2244bfd2d7 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Logs/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Logs/XList.php @@ -67,11 +67,11 @@ class XList extends Action ->param('databaseId', '', new UID(), 'Database ID.') ->param('collectionId', '', new UID(), 'Collection ID.') ->param('queries', [], new Queries([new Limit(), new Offset()]), 'Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Only supported methods are limit and offset', true) - ->inject('response') - ->inject('dbForProject') - ->inject('locale') - ->inject('geodb') - ->inject('audit') + ->inject('response') + ->inject('dbForProject') + ->inject('locale') + ->inject('geodb') + ->inject('audit') ->callback($this->action(...)); } @@ -98,10 +98,7 @@ class XList extends Action $context = $this->getContext(); $resource = "database/$databaseId/$context/$collectionId"; - $grouped = Query::groupByType($queries); - $limit = $grouped['limit'] ?? 25; - $offset = $grouped['offset'] ?? 0; - $logs = $audit->getLogsByResource($resource, offset: $offset, limit: $limit); + $logs = $audit->getLogsByResource($resource, $queries); $output = []; @@ -150,7 +147,7 @@ class XList extends Action $response->dynamic(new Document([ 'logs' => $output, - 'total' => $audit->countLogsByResource($resource), + 'total' => $audit->countLogsByResource($resource, $queries), ]), $this->getResponseModel()); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Logs/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Logs/XList.php index 1d828977c4..42081127d5 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Logs/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Logs/XList.php @@ -63,15 +63,15 @@ class XList extends Action ]) ->param('databaseId', '', new UID(), 'Database ID.') ->param('queries', [], new Queries([new Limit(), new Offset()]), 'Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Only supported methods are limit and offset', true) - ->inject('response') - ->inject('dbForProject') - ->inject('locale') - ->inject('geodb') - ->inject('audit') + ->inject('response') + ->inject('dbForProject') + ->inject('locale') + ->inject('geodb') + ->inject('audit') ->callback($this->action(...)); } - public function action(string $databaseId, array $queries, UtopiaResponse $response, Database $dbForProject, Locale $locale, Reader $geodb, Audit $audit): void + public function action(string $databaseId, array $queries, UtopiaResponse $response, Database $dbForProject, Locale $locale, Reader $geodb, Audit $audit): void { $database = $dbForProject->getDocument('databases', $databaseId); @@ -86,10 +86,7 @@ class XList extends Action } $resource = 'database/' . $databaseId; - $grouped = Query::groupByType($queries); - $limit = $grouped['limit'] ?? 25; - $offset = $grouped['offset'] ?? 0; - $logs = $audit->getLogsByResource($resource, offset: $offset, limit: $limit); + $logs = $audit->getLogsByResource($resource, $queries); $output = []; @@ -136,7 +133,7 @@ class XList extends Action } $response->dynamic(new Document([ - 'total' => $audit->countLogsByResource($resource), + 'total' => $audit->countLogsByResource($resource, $queries), 'logs' => $output, ]), UtopiaResponse::MODEL_LOG_LIST); } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Logs/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Logs/XList.php index b37d38dfe1..ed2aaa848c 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Logs/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Logs/XList.php @@ -58,11 +58,11 @@ class XList extends Action ]) ->param('databaseId', '', new UID(), 'Database ID.') ->param('queries', [], new Queries([new Limit(), new Offset()]), 'Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Only supported methods are limit and offset', true) - ->inject('response') - ->inject('dbForProject') - ->inject('locale') - ->inject('geodb') - ->inject('audit') + ->inject('response') + ->inject('dbForProject') + ->inject('locale') + ->inject('geodb') + ->inject('audit') ->callback($this->action(...)); } @@ -81,10 +81,7 @@ class XList extends Action } $resource = 'database/' . $databaseId; - $grouped = Query::groupByType($queries); - $limit = $grouped['limit'] ?? 25; - $offset = $grouped['offset'] ?? 0; - $logs = $audit->getLogsByResource($resource, offset: $offset, limit: $limit); + $logs = $audit->getLogsByResource($resource, $queries); $output = []; @@ -131,7 +128,7 @@ class XList extends Action } $response->dynamic(new Document([ - 'total' => $audit->countLogsByResource($resource), + 'total' => $audit->countLogsByResource($resource, $queries), 'logs' => $output, ]), UtopiaResponse::MODEL_LOG_LIST); } diff --git a/src/Appwrite/Platform/Workers/Audits.php b/src/Appwrite/Platform/Workers/Audits.php index 3349367adf..2f0364e408 100644 --- a/src/Appwrite/Platform/Workers/Audits.php +++ b/src/Appwrite/Platform/Workers/Audits.php @@ -4,8 +4,8 @@ namespace Appwrite\Platform\Workers; use Exception; use Throwable; -use Utopia\Audit\Adapter\Database as AdapterDatabase; use Utopia\Audit\Audit; +use Utopia\Audit\Adapters\Database as AdapterDatabase; use Utopia\CLI\Console; use Utopia\Database\Document; use Utopia\Database\Exception\Authorization; @@ -103,7 +103,7 @@ class Audits extends Action 'mode' => $mode, 'data' => $auditPayload, ], - 'time' => date("Y-m-d H:i:s", $message->getTimestamp()), + 'timestamp' => date("Y-m-d H:i:s", $message->getTimestamp()), ]; if (isset($this->logs[$project->getSequence()])) { diff --git a/tests/e2e/Services/Account/AccountCustomClientTest.php b/tests/e2e/Services/Account/AccountCustomClientTest.php index 457799f991..a1cc718aad 100644 --- a/tests/e2e/Services/Account/AccountCustomClientTest.php +++ b/tests/e2e/Services/Account/AccountCustomClientTest.php @@ -288,6 +288,8 @@ class AccountCustomClientTest extends Scope 'cookie' => 'a_session_' . $this->getProject()['$id'] . '=' . $session, ])); + var_dump($response['body']['logs']); + $this->assertEquals(200, $response['headers']['status-code']); $this->assertIsArray($response['body']['logs']); $this->assertNotEmpty($response['body']['logs']); From 69ad4ae9303d48ca7578d1cae7bf6e8aabedbb5f Mon Sep 17 00:00:00 2001 From: Damodar Lohani Date: Mon, 15 Dec 2025 02:15:45 +0000 Subject: [PATCH 073/220] Fix format --- app/controllers/api/projects.php | 4 ++-- .../Http/Databases/Collections/Logs/XList.php | 10 +++++----- .../Modules/Databases/Http/Databases/Logs/XList.php | 12 ++++++------ .../Modules/Databases/Http/TablesDB/Logs/XList.php | 10 +++++----- src/Appwrite/Platform/Workers/Audits.php | 2 +- 5 files changed, 19 insertions(+), 19 deletions(-) diff --git a/app/controllers/api/projects.php b/app/controllers/api/projects.php index 364a7914b4..ad8ed2047f 100644 --- a/app/controllers/api/projects.php +++ b/app/controllers/api/projects.php @@ -295,7 +295,7 @@ App::post('/v1/projects') // Hook allowing instant project mirroring during migration // Outside of migration, hook is not registered and has no effect - $hooks->trigger('afterProjectCreation', [ $project, $pools, $cache ]); + $hooks->trigger('afterProjectCreation', [$project, $pools, $cache]); $response ->setStatusCode(Response::STATUS_CODE_CREATED) @@ -2666,7 +2666,7 @@ App::patch('/v1/projects/:projectId/auth/session-invalidation') $auths = $project->getAttribute('auths', []); $auths['invalidateSessions'] = $enabled; $dbForPlatform->updateDocument('projects', $project->getId(), $project - ->setAttribute('auths', $auths)); + ->setAttribute('auths', $auths)); $response->dynamic($project, Response::MODEL_PROJECT); }); diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Logs/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Logs/XList.php index 2244bfd2d7..a67af6cff1 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Logs/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Logs/XList.php @@ -67,11 +67,11 @@ class XList extends Action ->param('databaseId', '', new UID(), 'Database ID.') ->param('collectionId', '', new UID(), 'Collection ID.') ->param('queries', [], new Queries([new Limit(), new Offset()]), 'Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Only supported methods are limit and offset', true) - ->inject('response') - ->inject('dbForProject') - ->inject('locale') - ->inject('geodb') - ->inject('audit') + ->inject('response') + ->inject('dbForProject') + ->inject('locale') + ->inject('geodb') + ->inject('audit') ->callback($this->action(...)); } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Logs/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Logs/XList.php index 42081127d5..6b2878ce9a 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Logs/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Logs/XList.php @@ -63,15 +63,15 @@ class XList extends Action ]) ->param('databaseId', '', new UID(), 'Database ID.') ->param('queries', [], new Queries([new Limit(), new Offset()]), 'Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Only supported methods are limit and offset', true) - ->inject('response') - ->inject('dbForProject') - ->inject('locale') - ->inject('geodb') - ->inject('audit') + ->inject('response') + ->inject('dbForProject') + ->inject('locale') + ->inject('geodb') + ->inject('audit') ->callback($this->action(...)); } - public function action(string $databaseId, array $queries, UtopiaResponse $response, Database $dbForProject, Locale $locale, Reader $geodb, Audit $audit): void + public function action(string $databaseId, array $queries, UtopiaResponse $response, Database $dbForProject, Locale $locale, Reader $geodb, Audit $audit): void { $database = $dbForProject->getDocument('databases', $databaseId); diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Logs/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Logs/XList.php index ed2aaa848c..1315d35330 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Logs/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Logs/XList.php @@ -58,11 +58,11 @@ class XList extends Action ]) ->param('databaseId', '', new UID(), 'Database ID.') ->param('queries', [], new Queries([new Limit(), new Offset()]), 'Array of query strings generated using the Query class provided by the SDK. [Learn more about queries](https://appwrite.io/docs/queries). Only supported methods are limit and offset', true) - ->inject('response') - ->inject('dbForProject') - ->inject('locale') - ->inject('geodb') - ->inject('audit') + ->inject('response') + ->inject('dbForProject') + ->inject('locale') + ->inject('geodb') + ->inject('audit') ->callback($this->action(...)); } diff --git a/src/Appwrite/Platform/Workers/Audits.php b/src/Appwrite/Platform/Workers/Audits.php index 2f0364e408..369a67116d 100644 --- a/src/Appwrite/Platform/Workers/Audits.php +++ b/src/Appwrite/Platform/Workers/Audits.php @@ -4,8 +4,8 @@ namespace Appwrite\Platform\Workers; use Exception; use Throwable; -use Utopia\Audit\Audit; use Utopia\Audit\Adapters\Database as AdapterDatabase; +use Utopia\Audit\Audit; use Utopia\CLI\Console; use Utopia\Database\Document; use Utopia\Database\Exception\Authorization; From 2d3e34fd5aa91d0910cade2b487e8e5fc4d94ea7 Mon Sep 17 00:00:00 2001 From: Damodar Lohani Date: Mon, 15 Dec 2025 02:20:10 +0000 Subject: [PATCH 074/220] fix namespace --- app/controllers/api/projects.php | 2 +- src/Appwrite/Platform/Workers/Audits.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/controllers/api/projects.php b/app/controllers/api/projects.php index ad8ed2047f..4b54ac1037 100644 --- a/app/controllers/api/projects.php +++ b/app/controllers/api/projects.php @@ -247,7 +247,7 @@ App::post('/v1/projects') } if ($create || $projectTables) { - $adapter = new \Utopia\Audit\Adapters\Database($dbForProject); + $adapter = new \Utopia\Audit\Adapter\Database($dbForProject); $audit = new Audit($adapter); $audit->setup(); } diff --git a/src/Appwrite/Platform/Workers/Audits.php b/src/Appwrite/Platform/Workers/Audits.php index 369a67116d..c64591632d 100644 --- a/src/Appwrite/Platform/Workers/Audits.php +++ b/src/Appwrite/Platform/Workers/Audits.php @@ -4,7 +4,7 @@ namespace Appwrite\Platform\Workers; use Exception; use Throwable; -use Utopia\Audit\Adapters\Database as AdapterDatabase; +use Utopia\Audit\Adapter\Database as AdapterDatabase; use Utopia\Audit\Audit; use Utopia\CLI\Console; use Utopia\Database\Document; From ace9d8674414300bbe5c849f238be8244c6cbef2 Mon Sep 17 00:00:00 2001 From: Damodar Lohani Date: Mon, 15 Dec 2025 02:41:56 +0000 Subject: [PATCH 075/220] fix attribute --- src/Appwrite/Platform/Workers/Audits.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Appwrite/Platform/Workers/Audits.php b/src/Appwrite/Platform/Workers/Audits.php index c64591632d..3349367adf 100644 --- a/src/Appwrite/Platform/Workers/Audits.php +++ b/src/Appwrite/Platform/Workers/Audits.php @@ -103,7 +103,7 @@ class Audits extends Action 'mode' => $mode, 'data' => $auditPayload, ], - 'timestamp' => date("Y-m-d H:i:s", $message->getTimestamp()), + 'time' => date("Y-m-d H:i:s", $message->getTimestamp()), ]; if (isset($this->logs[$project->getSequence()])) { From dc3459edd0cf816ac69fd1c3eaddc7c6103ab7ac Mon Sep 17 00:00:00 2001 From: Damodar Lohani Date: Mon, 15 Dec 2025 02:43:27 +0000 Subject: [PATCH 076/220] remove dump --- tests/e2e/Services/Account/AccountCustomClientTest.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/tests/e2e/Services/Account/AccountCustomClientTest.php b/tests/e2e/Services/Account/AccountCustomClientTest.php index a1cc718aad..457799f991 100644 --- a/tests/e2e/Services/Account/AccountCustomClientTest.php +++ b/tests/e2e/Services/Account/AccountCustomClientTest.php @@ -288,8 +288,6 @@ class AccountCustomClientTest extends Scope 'cookie' => 'a_session_' . $this->getProject()['$id'] . '=' . $session, ])); - var_dump($response['body']['logs']); - $this->assertEquals(200, $response['headers']['status-code']); $this->assertIsArray($response['body']['logs']); $this->assertNotEmpty($response['body']['logs']); From 801219374c6924da15abca4d316f4d25c707e694 Mon Sep 17 00:00:00 2001 From: Damodar Lohani Date: Mon, 15 Dec 2025 02:50:21 +0000 Subject: [PATCH 077/220] Fix queries --- app/controllers/api/messaging.php | 26 ++++++++++++++----- app/controllers/api/teams.php | 8 ++++-- app/controllers/api/users.php | 8 ++++-- .../Collections/Documents/Logs/XList.php | 9 +++++-- .../Http/Databases/Collections/Logs/XList.php | 8 ++++-- .../Databases/Http/Databases/Logs/XList.php | 9 +++++-- .../Databases/Http/TablesDB/Logs/XList.php | 8 ++++-- 7 files changed, 57 insertions(+), 19 deletions(-) diff --git a/app/controllers/api/messaging.php b/app/controllers/api/messaging.php index eed12c3376..e1e595d992 100644 --- a/app/controllers/api/messaging.php +++ b/app/controllers/api/messaging.php @@ -1211,7 +1211,7 @@ App::get('/v1/messaging/providers/:providerId/logs') } $response->dynamic(new Document([ - 'total' => $includeTotal ? $audit->countLogsByResource($resource, $queries) : 0, + 'total' => $includeTotal ? $audit->countLogsByResource($resource) : 0, 'logs' => $output, ]), Response::MODEL_LOG_LIST); }); @@ -2567,8 +2567,12 @@ App::get('/v1/messaging/topics/:topicId/logs') throw new Exception(Exception::GENERAL_QUERY_INVALID, $e->getMessage()); } + $grouped = Query::groupByType($queries); + $limit = $grouped['limit'] ?? 25; + $offset = $grouped['offset'] ?? 0; + $resource = 'topic/' . $topicId; - $logs = $audit->getLogsByResource($resource, $queries); + $logs = $audit->getLogsByResource($resource, offset: $offset, limit: $limit); $output = []; @@ -2616,7 +2620,7 @@ App::get('/v1/messaging/topics/:topicId/logs') } $response->dynamic(new Document([ - 'total' => $includeTotal ? $audit->countLogsByResource($resource, $queries) : 0, + 'total' => $includeTotal ? $audit->countLogsByResource($resource) : 0, 'logs' => $output, ]), Response::MODEL_LOG_LIST); }); @@ -2984,8 +2988,12 @@ App::get('/v1/messaging/subscribers/:subscriberId/logs') throw new Exception(Exception::GENERAL_QUERY_INVALID, $e->getMessage()); } + $grouped = Query::groupByType($queries); + $limit = $grouped['limit'] ?? 25; + $offset = $grouped['offset'] ?? 0; + $resource = 'subscriber/' . $subscriberId; - $logs = $audit->getLogsByResource($resource, $queries); + $logs = $audit->getLogsByResource($resource, limit: $limit, offset: $offset); $output = []; @@ -3033,7 +3041,7 @@ App::get('/v1/messaging/subscribers/:subscriberId/logs') } $response->dynamic(new Document([ - 'total' => $includeTotal ? $audit->countLogsByResource($resource, $queries) : 0, + 'total' => $includeTotal ? $audit->countLogsByResource($resource) : 0, 'logs' => $output, ]), Response::MODEL_LOG_LIST); }); @@ -3779,8 +3787,12 @@ App::get('/v1/messaging/messages/:messageId/logs') throw new Exception(Exception::GENERAL_QUERY_INVALID, $e->getMessage()); } + $grouped = Query::groupByType($queries); + $limit = $grouped['limit'] ?? 25; + $offset = $grouped['offset'] ?? 0; + $resource = 'message/' . $messageId; - $logs = $audit->getLogsByResource($resource, $queries); + $logs = $audit->getLogsByResource($resource, limit: $limit, offset: $offset); $output = []; @@ -3828,7 +3840,7 @@ App::get('/v1/messaging/messages/:messageId/logs') } $response->dynamic(new Document([ - 'total' => $includeTotal ? $audit->countLogsByResource($resource, $queries) : 0, + 'total' => $includeTotal ? $audit->countLogsByResource($resource) : 0, 'logs' => $output, ]), Response::MODEL_LOG_LIST); }); diff --git a/app/controllers/api/teams.php b/app/controllers/api/teams.php index 04a43577ad..800e404027 100644 --- a/app/controllers/api/teams.php +++ b/app/controllers/api/teams.php @@ -1479,8 +1479,12 @@ App::get('/v1/teams/:teamId/logs') throw new Exception(Exception::GENERAL_QUERY_INVALID, $e->getMessage()); } + $grouped = Query::groupByType($queries); + $limit = $grouped['limit'] ?? 25; + $offset = $grouped['offset'] ?? 0; + $resource = 'team/' . $team->getId(); - $logs = $audit->getLogsByResource($resource, $queries); + $logs = $audit->getLogsByResource($resource, offset: $offset, limit: $limit); $output = []; @@ -1527,7 +1531,7 @@ App::get('/v1/teams/:teamId/logs') } } $response->dynamic(new Document([ - 'total' => $includeTotal ? $audit->countLogsByResource($resource, $queries) : 0, + 'total' => $includeTotal ? $audit->countLogsByResource($resource) : 0, 'logs' => $output, ]), Response::MODEL_LOG_LIST); }); diff --git a/app/controllers/api/users.php b/app/controllers/api/users.php index 161b5a3298..de05f78223 100644 --- a/app/controllers/api/users.php +++ b/app/controllers/api/users.php @@ -959,7 +959,11 @@ App::get('/v1/users/:userId/logs') throw new Exception(Exception::GENERAL_QUERY_INVALID, $e->getMessage()); } - $logs = $audit->getLogsByUser($user->getSequence(), $queries); + $grouped = Query::groupByType($queries); + $limit = $grouped['limit'] ?? 25; + $offset = $grouped['offset'] ?? 0; + + $logs = $audit->getLogsByUser($user->getSequence(), limit: $limit, offset: $offset); $output = []; foreach ($logs as $i => &$log) { $log['userAgent'] = (!empty($log['userAgent'])) ? $log['userAgent'] : 'UNKNOWN'; @@ -999,7 +1003,7 @@ App::get('/v1/users/:userId/logs') } $response->dynamic(new Document([ - 'total' => $includeTotal ? $audit->countLogsByUser($user->getSequence(), $queries) : 0, + 'total' => $includeTotal ? $audit->countLogsByUser($user->getSequence()) : 0, 'logs' => $output, ]), Response::MODEL_LOG_LIST); }); diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Logs/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Logs/XList.php index 292bed4c36..a4dd38ef67 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Logs/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Documents/Logs/XList.php @@ -103,7 +103,12 @@ class XList extends Action $context = $this->getContext(); $resource = "database/$databaseId/$type/$collectionId/$context/{$document->getId()}"; - $logs = $audit->getLogsByResource($resource, $queries); + + $grouped = Query::groupByType($queries); + $limit = $grouped['limit'] ?? 25; + $offset = $grouped['offset'] ?? 0; + + $logs = $audit->getLogsByResource($resource, limit: $limit, offset: $offset); $output = []; @@ -152,7 +157,7 @@ class XList extends Action $response->dynamic(new Document([ 'logs' => $output, - 'total' => $audit->countLogsByResource($resource, $queries), + 'total' => $audit->countLogsByResource($resource), ]), $this->getResponseModel()); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Logs/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Logs/XList.php index a67af6cff1..0f5a57c6e9 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Logs/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Collections/Logs/XList.php @@ -96,9 +96,13 @@ class XList extends Action throw new Exception(Exception::GENERAL_QUERY_INVALID, $e->getMessage()); } + $grouped = Query::groupByType($queries); + $limit = $grouped['limit'] ?? 25; + $offset = $grouped['offset'] ?? 0; + $context = $this->getContext(); $resource = "database/$databaseId/$context/$collectionId"; - $logs = $audit->getLogsByResource($resource, $queries); + $logs = $audit->getLogsByResource($resource, limit: $limit, offset: $offset); $output = []; @@ -147,7 +151,7 @@ class XList extends Action $response->dynamic(new Document([ 'logs' => $output, - 'total' => $audit->countLogsByResource($resource, $queries), + 'total' => $audit->countLogsByResource($resource), ]), $this->getResponseModel()); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Logs/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Logs/XList.php index 6b2878ce9a..319f07db1c 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/Databases/Logs/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/Databases/Logs/XList.php @@ -85,8 +85,13 @@ class XList extends Action throw new Exception(Exception::GENERAL_QUERY_INVALID, $e->getMessage()); } + + $grouped = Query::groupByType($queries); + $limit = $grouped['limit'] ?? 25; + $offset = $grouped['offset'] ?? 0; + $resource = 'database/' . $databaseId; - $logs = $audit->getLogsByResource($resource, $queries); + $logs = $audit->getLogsByResource($resource, limit: $limit, offset: $offset); $output = []; @@ -133,7 +138,7 @@ class XList extends Action } $response->dynamic(new Document([ - 'total' => $audit->countLogsByResource($resource, $queries), + 'total' => $audit->countLogsByResource($resource), 'logs' => $output, ]), UtopiaResponse::MODEL_LOG_LIST); } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Logs/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Logs/XList.php index 1315d35330..88745555d9 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Logs/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Logs/XList.php @@ -80,8 +80,12 @@ class XList extends Action throw new Exception(Exception::GENERAL_QUERY_INVALID, $e->getMessage()); } + $grouped = Query::groupByType($queries); + $limit = $grouped['limit'] ?? 25; + $offset = $grouped['offset'] ?? 0; + $resource = 'database/' . $databaseId; - $logs = $audit->getLogsByResource($resource, $queries); + $logs = $audit->getLogsByResource($resource, limit: $limit, offset: $offset); $output = []; @@ -128,7 +132,7 @@ class XList extends Action } $response->dynamic(new Document([ - 'total' => $audit->countLogsByResource($resource, $queries), + 'total' => $audit->countLogsByResource($resource), 'logs' => $output, ]), UtopiaResponse::MODEL_LOG_LIST); } From 63c2d72b2e15595a63614d75e4a9eb89f02de88d Mon Sep 17 00:00:00 2001 From: Damodar Lohani Date: Mon, 15 Dec 2025 03:58:00 +0000 Subject: [PATCH 078/220] Fix logs --- .../Modules/Databases/Http/TablesDB/Tables/Logs/XList.php | 1 + .../Modules/Databases/Http/TablesDB/Tables/Rows/Logs/XList.php | 1 + 2 files changed, 2 insertions(+) diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Logs/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Logs/XList.php index 0680649544..5eab050b7e 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Logs/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Logs/XList.php @@ -50,6 +50,7 @@ class XList extends CollectionLogXList ->inject('dbForProject') ->inject('locale') ->inject('geodb') + ->inject('audit') ->callback($this->action(...)); } } diff --git a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Logs/XList.php b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Logs/XList.php index 5f1efa2953..27bd82195d 100644 --- a/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Logs/XList.php +++ b/src/Appwrite/Platform/Modules/Databases/Http/TablesDB/Tables/Rows/Logs/XList.php @@ -51,6 +51,7 @@ class XList extends DocumentLogXList ->inject('dbForProject') ->inject('locale') ->inject('geodb') + ->inject('audit') ->callback($this->action(...)); } } From f837e6be03e171ed16474f125077ff098cf4a280 Mon Sep 17 00:00:00 2001 From: fogelito Date: Mon, 15 Dec 2025 09:42:26 +0200 Subject: [PATCH 079/220] cleanups --- src/Appwrite/Platform/Workers/Migrations.php | 39 ++++++++++++-------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/src/Appwrite/Platform/Workers/Migrations.php b/src/Appwrite/Platform/Workers/Migrations.php index 5d880f9baf..ebcd199ff6 100644 --- a/src/Appwrite/Platform/Workers/Migrations.php +++ b/src/Appwrite/Platform/Workers/Migrations.php @@ -41,18 +41,13 @@ use Utopia\System\System; class Migrations extends Action { - protected Database $dbForProject; - - protected Database $dbForPlatform; - - protected Device $deviceForMigrations; - protected Device $deviceForFiles; - - protected Document $project; - - protected array $plan; - - protected array $platform; + protected ?Database $dbForProject; + protected ?Database $dbForPlatform; + protected ?Device $deviceForMigrations; + protected ?Device $deviceForFiles; + protected ?Document $project; + protected array $plan = []; + protected array $platform = []; /** * @var array @@ -60,9 +55,9 @@ class Migrations extends Action protected array $sourceReport = []; /** - * @var callable + * @var callable|null */ - protected $logError; + protected $logError = null; public static function getName(): string { @@ -130,7 +125,21 @@ class Migrations extends Action return; } - $this->processMigration($migration, $queueForRealtime, $queueForMails); + try { + $this->processMigration($migration, $queueForRealtime, $queueForMails); + } finally { + $this->dbForProject = null; + $this->dbForPlatform = null; + $this->project = null; + $this->logError = null; + $this->deviceForMigrations = null; + $this->deviceForFiles = null; + $this->plan = []; + $this->platform = []; + $this->sourceReport = []; + + gc_collect_cycles(); + } } /** From cd90974e1597e0f58991895063f9a3162ce57f97 Mon Sep 17 00:00:00 2001 From: Levi van Noort <73097785+levivannoort@users.noreply.github.com> Date: Mon, 15 Dec 2025 13:22:29 +0100 Subject: [PATCH 080/220] chore: changes to test to validate default behaviour instead --- .env | 2 +- composer.json | 2 +- composer.lock | 22 ++++++++++++---------- docker-compose.yml | 1 + tests/e2e/Services/Account/AccountBase.php | 11 +++++++---- 5 files changed, 22 insertions(+), 16 deletions(-) diff --git a/.env b/.env index 9c6dc04223..5343c8d086 100644 --- a/.env +++ b/.env @@ -125,4 +125,4 @@ _APP_WEBHOOK_MAX_FAILED_ATTEMPTS=10 _APP_PROJECT_REGIONS=default _APP_FUNCTIONS_CREATION_ABUSE_LIMIT=5000 _APP_STATS_USAGE_DUAL_WRITING_DBS=database_db_main -_APP_TRUSTED_HEADERS=x-forwarded-for +_APP_TRUSTED_HEADERS= \ No newline at end of file diff --git a/composer.json b/composer.json index d32b739311..d898378ca4 100644 --- a/composer.json +++ b/composer.json @@ -72,7 +72,7 @@ "utopia-php/queue": "0.11.*", "utopia-php/registry": "0.5.*", "utopia-php/storage": "0.18.*", - "utopia-php/swoole": "0.8.*", + "utopia-php/swoole": "clo-3704-duplicate-changes-to-swoole-due-to-overwrite-dev", "utopia-php/system": "0.9.*", "utopia-php/telemetry": "0.1.*", "utopia-php/vcs": "0.13.*", diff --git a/composer.lock b/composer.lock index e88eb8fe62..656b8a4267 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "7c9cb03eb5267f1e7a3ffc037ae22b6a", + "content-hash": "28bb3cab7ab0efd5e6abf9fa923bd17b", "packages": [ { "name": "adhocore/jwt", @@ -5011,22 +5011,22 @@ }, { "name": "utopia-php/swoole", - "version": "0.8.4", + "version": "dev-clo-3704-duplicate-changes-to-swoole-due-to-overwrite", "source": { "type": "git", "url": "https://github.com/utopia-php/swoole.git", - "reference": "150c30700e738c52348cce9ed0e0f0ff96872081" + "reference": "af6911b0a4eef4b7a825cd246e6070b02b856b8f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/utopia-php/swoole/zipball/150c30700e738c52348cce9ed0e0f0ff96872081", - "reference": "150c30700e738c52348cce9ed0e0f0ff96872081", + "url": "https://api.github.com/repos/utopia-php/swoole/zipball/af6911b0a4eef4b7a825cd246e6070b02b856b8f", + "reference": "af6911b0a4eef4b7a825cd246e6070b02b856b8f", "shasum": "" }, "require": { "ext-swoole": "*", "php": ">=8.0", - "utopia-php/framework": "0.33.*" + "utopia-php/framework": "0.33.x" }, "require-dev": { "laravel/pint": "1.2.*", @@ -5056,9 +5056,9 @@ ], "support": { "issues": "https://github.com/utopia-php/swoole/issues", - "source": "https://github.com/utopia-php/swoole/tree/0.8.4" + "source": "https://github.com/utopia-php/swoole/tree/clo-3704-duplicate-changes-to-swoole-due-to-overwrite" }, - "time": "2025-09-07T09:39:46+00:00" + "time": "2025-12-15T10:03:28+00:00" }, { "name": "utopia-php/system", @@ -8943,7 +8943,9 @@ ], "aliases": [], "minimum-stability": "stable", - "stability-flags": [], + "stability-flags": { + "utopia-php/swoole": 20 + }, "prefer-stable": false, "prefer-lowest": false, "platform": { @@ -8967,5 +8969,5 @@ "platform-overrides": { "php": "8.3" }, - "plugin-api-version": "2.6.0" + "plugin-api-version": "2.9.0" } diff --git a/docker-compose.yml b/docker-compose.yml index f246dbb456..ac1c7cd0f1 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -219,6 +219,7 @@ services: - _APP_DATABASE_SHARED_NAMESPACE - _APP_FUNCTIONS_CREATION_ABUSE_LIMIT - _APP_CUSTOM_DOMAIN_DENY_LIST + - _APP_TRUSTED_HEADERS extra_hosts: - "host.docker.internal:host-gateway" diff --git a/tests/e2e/Services/Account/AccountBase.php b/tests/e2e/Services/Account/AccountBase.php index c678fb83cd..0c9d481371 100644 --- a/tests/e2e/Services/Account/AccountBase.php +++ b/tests/e2e/Services/Account/AccountBase.php @@ -327,17 +327,20 @@ trait AccountBase $this->assertEquals($response['headers']['status-code'], 204); } - public function testTrustedIpViaHeaders(): void + public function testFallbackForTrustedIp(): void { $email = uniqid() . 'user@localhost.test'; $password = 'password'; $name = 'User Name'; + // call appwrite directly to avoid proxy stripping the headers + $this->client->setEndpoint('http://localhost/v1'); + $response = $this->client->call(Client::METHOD_POST, '/account', array_merge([ 'origin' => 'http://localhost', 'content-type' => 'application/json', 'x-appwrite-project' => $this->getProject()['$id'], - 'x-forwarded-for' => '203.0.113.195', + 'x-forwarded-for' => '191.0.113.195', ]), [ 'userId' => ID::unique(), 'email' => $email, @@ -351,13 +354,13 @@ trait AccountBase 'origin' => 'http://localhost', 'content-type' => 'application/json', 'x-appwrite-project' => $this->getProject()['$id'], - 'x-forwarded-for' => '203.0.113.195', + 'x-forwarded-for' => '191.0.113.195', ]), [ 'email' => $email, 'password' => $password, ]); $this->assertEquals($response['headers']['status-code'], 201); - $this->assertEquals('203.0.113.195', $response['body']['clientIp'] ?? $response['body']['ip'] ?? ''); + $this->assertEquals('191.0.113.195', $response['body']['clientIp'] ?? $response['body']['ip'] ?? ''); } } From 0d7eb88a45da31c8cb7c9d4950e0f7a0619c5f34 Mon Sep 17 00:00:00 2001 From: Levi van Noort <73097785+levivannoort@users.noreply.github.com> Date: Mon, 15 Dec 2025 15:08:23 +0100 Subject: [PATCH 081/220] chore: update utopia-php/swoole to version 0.8.5 --- composer.json | 2 +- composer.lock | 20 +++++++++----------- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/composer.json b/composer.json index d898378ca4..95d10ca0c9 100644 --- a/composer.json +++ b/composer.json @@ -72,7 +72,7 @@ "utopia-php/queue": "0.11.*", "utopia-php/registry": "0.5.*", "utopia-php/storage": "0.18.*", - "utopia-php/swoole": "clo-3704-duplicate-changes-to-swoole-due-to-overwrite-dev", + "utopia-php/swoole": "0.8.5", "utopia-php/system": "0.9.*", "utopia-php/telemetry": "0.1.*", "utopia-php/vcs": "0.13.*", diff --git a/composer.lock b/composer.lock index 656b8a4267..47488ae924 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "28bb3cab7ab0efd5e6abf9fa923bd17b", + "content-hash": "3be93acc5ee72f38f6e3436487169976", "packages": [ { "name": "adhocore/jwt", @@ -5011,22 +5011,22 @@ }, { "name": "utopia-php/swoole", - "version": "dev-clo-3704-duplicate-changes-to-swoole-due-to-overwrite", + "version": "0.8.5", "source": { "type": "git", "url": "https://github.com/utopia-php/swoole.git", - "reference": "af6911b0a4eef4b7a825cd246e6070b02b856b8f" + "reference": "e42b6b8e44c457a7b35d8a857d7af1d67d667c58" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/utopia-php/swoole/zipball/af6911b0a4eef4b7a825cd246e6070b02b856b8f", - "reference": "af6911b0a4eef4b7a825cd246e6070b02b856b8f", + "url": "https://api.github.com/repos/utopia-php/swoole/zipball/e42b6b8e44c457a7b35d8a857d7af1d67d667c58", + "reference": "e42b6b8e44c457a7b35d8a857d7af1d67d667c58", "shasum": "" }, "require": { "ext-swoole": "*", "php": ">=8.0", - "utopia-php/framework": "0.33.x" + "utopia-php/framework": "0.33.35" }, "require-dev": { "laravel/pint": "1.2.*", @@ -5056,9 +5056,9 @@ ], "support": { "issues": "https://github.com/utopia-php/swoole/issues", - "source": "https://github.com/utopia-php/swoole/tree/clo-3704-duplicate-changes-to-swoole-due-to-overwrite" + "source": "https://github.com/utopia-php/swoole/tree/0.8.5" }, - "time": "2025-12-15T10:03:28+00:00" + "time": "2025-12-15T14:03:23+00:00" }, { "name": "utopia-php/system", @@ -8943,9 +8943,7 @@ ], "aliases": [], "minimum-stability": "stable", - "stability-flags": { - "utopia-php/swoole": 20 - }, + "stability-flags": {}, "prefer-stable": false, "prefer-lowest": false, "platform": { From 8a35762843c172c78933b8b493cb62847296ed8e Mon Sep 17 00:00:00 2001 From: Levi van Noort <73097785+levivannoort@users.noreply.github.com> Date: Mon, 15 Dec 2025 15:36:13 +0100 Subject: [PATCH 082/220] chore: update utopia-php/swoole version constraint to 0.8.* --- composer.json | 2 +- composer.lock | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/composer.json b/composer.json index 95d10ca0c9..d32b739311 100644 --- a/composer.json +++ b/composer.json @@ -72,7 +72,7 @@ "utopia-php/queue": "0.11.*", "utopia-php/registry": "0.5.*", "utopia-php/storage": "0.18.*", - "utopia-php/swoole": "0.8.5", + "utopia-php/swoole": "0.8.*", "utopia-php/system": "0.9.*", "utopia-php/telemetry": "0.1.*", "utopia-php/vcs": "0.13.*", diff --git a/composer.lock b/composer.lock index 47488ae924..6277c96145 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "3be93acc5ee72f38f6e3436487169976", + "content-hash": "7c9cb03eb5267f1e7a3ffc037ae22b6a", "packages": [ { "name": "adhocore/jwt", From 03a19cc83c3fafbd5fab5d016392a2555f578ac0 Mon Sep 17 00:00:00 2001 From: Levi van Noort <73097785+levivannoort@users.noreply.github.com> Date: Mon, 15 Dec 2025 15:49:21 +0100 Subject: [PATCH 083/220] chore: set _APP_TRUSTED_HEADERS to x-forwarded-for --- .env | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.env b/.env index 5343c8d086..3a0c4a50cb 100644 --- a/.env +++ b/.env @@ -125,4 +125,4 @@ _APP_WEBHOOK_MAX_FAILED_ATTEMPTS=10 _APP_PROJECT_REGIONS=default _APP_FUNCTIONS_CREATION_ABUSE_LIMIT=5000 _APP_STATS_USAGE_DUAL_WRITING_DBS=database_db_main -_APP_TRUSTED_HEADERS= \ No newline at end of file +_APP_TRUSTED_HEADERS=x-forwarded-for \ No newline at end of file From 7e6846f8f81320ec7f6cd9b02273a6f0e807cd33 Mon Sep 17 00:00:00 2001 From: loks0n <22452787+loks0n@users.noreply.github.com> Date: Mon, 15 Dec 2025 15:01:26 +0000 Subject: [PATCH 084/220] fix: platform defaults --- src/Appwrite/Event/Build.php | 8 +++++++- src/Appwrite/Event/Func.php | 8 +++++++- src/Appwrite/Event/Mail.php | 9 ++++++++- src/Appwrite/Event/Migration.php | 8 +++++++- 4 files changed, 29 insertions(+), 4 deletions(-) diff --git a/src/Appwrite/Event/Build.php b/src/Appwrite/Event/Build.php index 79437c3e58..38f423829e 100644 --- a/src/Appwrite/Event/Build.php +++ b/src/Appwrite/Event/Build.php @@ -2,6 +2,7 @@ namespace Appwrite\Event; +use Utopia\Config\Config; use Utopia\Database\Document; use Utopia\Queue\Publisher; @@ -110,13 +111,18 @@ class Build extends Event */ protected function preparePayload(): array { + $platform = $this->platform; + if (empty($platform)) { + $platform = Config::getParam('platform', []); + } + return [ 'project' => $this->project, 'resource' => $this->resource, 'deployment' => $this->deployment, 'type' => $this->type, 'template' => $this->template, - 'platform' => $this->platform + 'platform' => $platform, ]; } diff --git a/src/Appwrite/Event/Func.php b/src/Appwrite/Event/Func.php index 380a28f1db..c9622a9ce0 100644 --- a/src/Appwrite/Event/Func.php +++ b/src/Appwrite/Event/Func.php @@ -2,6 +2,7 @@ namespace Appwrite\Event; +use Utopia\Config\Config; use Utopia\Database\Document; use Utopia\Queue\Publisher; @@ -202,6 +203,11 @@ class Func extends Event { $events = $this->getEvent() ? Event::generateEvents($this->getEvent(), $this->getParams()) : null; + $platform = $this->platform; + if (empty($platform)) { + $platform = Config::getParam('platform', []); + } + return [ 'project' => $this->project, 'user' => $this->user, @@ -217,7 +223,7 @@ class Func extends Event 'path' => $this->path, 'headers' => $this->headers, 'method' => $this->method, - 'platform' => $this->platform + 'platform' => $platform, ]; } } diff --git a/src/Appwrite/Event/Mail.php b/src/Appwrite/Event/Mail.php index c801d30493..ed96f6f93a 100644 --- a/src/Appwrite/Event/Mail.php +++ b/src/Appwrite/Event/Mail.php @@ -2,6 +2,7 @@ namespace Appwrite\Event; +use Utopia\Config\Config; use Utopia\Queue\Publisher; class Mail extends Event @@ -516,6 +517,11 @@ class Mail extends Event */ protected function preparePayload(): array { + $platform = $this->platform; + if (empty($platform)) { + $platform = Config::getParam('platform', []); + } + return [ 'project' => $this->project, 'recipient' => $this->recipient, @@ -528,7 +534,8 @@ class Mail extends Event 'variables' => $this->variables, 'attachment' => $this->attachment, 'customMailOptions' => $this->customMailOptions, - 'events' => Event::generateEvents($this->getEvent(), $this->getParams()) + 'events' => Event::generateEvents($this->getEvent(), $this->getParams()), + 'platform' => $platform, ]; } } diff --git a/src/Appwrite/Event/Migration.php b/src/Appwrite/Event/Migration.php index ca54310ce6..a224d4f4c3 100644 --- a/src/Appwrite/Event/Migration.php +++ b/src/Appwrite/Event/Migration.php @@ -2,6 +2,7 @@ namespace Appwrite\Event; +use Utopia\Config\Config; use Utopia\Database\Document; use Utopia\Queue\Publisher; @@ -73,11 +74,16 @@ class Migration extends Event */ protected function preparePayload(): array { + $platform = $this->platform; + if (empty($platform)) { + $platform = Config::getParam('platform', []); + } + return [ 'project' => $this->project, 'user' => $this->user, 'migration' => $this->migration, - 'platform' => $this->platform, + 'platform' => $platform, ]; } } From c6b6b7cdac132b448d5b9acb6332bb2fa9585733 Mon Sep 17 00:00:00 2001 From: Chirag Aggarwal Date: Mon, 15 Dec 2025 21:41:17 +0530 Subject: [PATCH 085/220] fix: edit field --- app/config/specs/open-api3-1.8.x-client.json | 235 +++-- app/config/specs/open-api3-1.8.x-console.json | 913 ++++++++---------- app/config/specs/open-api3-1.8.x-server.json | 694 ++++++------- app/config/specs/open-api3-latest-client.json | 235 +++-- .../specs/open-api3-latest-console.json | 913 ++++++++---------- app/config/specs/open-api3-latest-server.json | 694 ++++++------- app/config/specs/swagger2-1.8.x-client.json | 235 +++-- app/config/specs/swagger2-1.8.x-console.json | 913 ++++++++---------- app/config/specs/swagger2-1.8.x-server.json | 694 ++++++------- app/config/specs/swagger2-latest-client.json | 235 +++-- app/config/specs/swagger2-latest-console.json | 913 ++++++++---------- app/config/specs/swagger2-latest-server.json | 694 ++++++------- .../examples/databases/create-collection.md | 4 +- .../examples/tablesdb/create-table.md | 4 +- .../SDK/Specification/Format/OpenAPI3.php | 5 +- .../SDK/Specification/Format/Swagger2.php | 5 +- 16 files changed, 3422 insertions(+), 3964 deletions(-) diff --git a/app/config/specs/open-api3-1.8.x-client.json b/app/config/specs/open-api3-1.8.x-client.json index 127eab321a..ce119a5b2c 100644 --- a/app/config/specs/open-api3-1.8.x-client.json +++ b/app/config/specs/open-api3-1.8.x-client.json @@ -52,7 +52,6 @@ "cookies": false, "type": "", "demo": "account\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -64,6 +63,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get.md", "auth": { "Project": [] } @@ -103,7 +103,6 @@ "cookies": false, "type": "", "demo": "account\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -115,6 +114,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create.md", "auth": { "Project": [] } @@ -192,7 +192,6 @@ "cookies": false, "type": "", "demo": "account\/update-email.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-email.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -204,6 +203,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-email.md", "auth": { "Project": [] } @@ -270,7 +270,6 @@ "cookies": false, "type": "", "demo": "account\/list-identities.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-identities.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -282,6 +281,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-identities.md", "auth": { "Project": [] } @@ -342,7 +342,6 @@ "cookies": false, "type": "", "demo": "account\/delete-identity.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-identity.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -354,6 +353,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-identity.md", "auth": { "Project": [] } @@ -407,7 +407,6 @@ "cookies": false, "type": "", "demo": "account\/create-jwt.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-jwt.md", "rate-limit": 100, "rate-time": 3600, "rate-key": "url:{url},userId:{userId}", @@ -419,6 +418,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-jwt.md", "auth": { "Project": [] } @@ -460,7 +460,6 @@ "cookies": false, "type": "", "demo": "account\/list-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -472,6 +471,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-logs.md", "auth": { "Project": [] } @@ -539,7 +539,6 @@ "cookies": false, "type": "", "demo": "account\/update-mfa.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -551,6 +550,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa.md", "auth": { "Project": [] } @@ -611,7 +611,6 @@ "cookies": false, "type": "", "demo": "account\/create-mfa-authenticator.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-authenticator.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -623,6 +622,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-authenticator.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.createMFAAuthenticator" @@ -735,7 +735,6 @@ "cookies": false, "type": "", "demo": "account\/update-mfa-authenticator.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-authenticator.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -747,6 +746,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-authenticator.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.updateMFAAuthenticator" @@ -875,7 +875,6 @@ "cookies": false, "type": "", "demo": "account\/delete-mfa-authenticator.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-mfa-authenticator.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -887,6 +886,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-mfa-authenticator.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.deleteMFAAuthenticator" @@ -999,7 +999,6 @@ "cookies": false, "type": "", "demo": "account\/create-mfa-challenge.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-challenge.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},userId:{userId}", @@ -1011,6 +1010,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-challenge.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.createMFAChallenge" @@ -1133,7 +1133,6 @@ "cookies": false, "type": "", "demo": "account\/update-mfa-challenge.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-challenge.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},challengeId:{param-challengeId}", @@ -1145,6 +1144,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-challenge.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.updateMFAChallenge" @@ -1271,7 +1271,6 @@ "cookies": false, "type": "", "demo": "account\/list-mfa-factors.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-mfa-factors.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1283,6 +1282,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-mfa-factors.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.listMFAFactors" @@ -1372,7 +1372,6 @@ "cookies": false, "type": "", "demo": "account\/get-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1384,6 +1383,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.getMFARecoveryCodes" @@ -1471,7 +1471,6 @@ "cookies": false, "type": "", "demo": "account\/create-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1483,6 +1482,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.createMFARecoveryCodes" @@ -1570,7 +1570,6 @@ "cookies": false, "type": "", "demo": "account\/update-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1582,6 +1581,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.updateMFARecoveryCodes" @@ -1671,7 +1671,6 @@ "cookies": false, "type": "", "demo": "account\/update-name.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-name.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1683,6 +1682,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-name.md", "auth": { "Project": [] } @@ -1743,7 +1743,6 @@ "cookies": false, "type": "", "demo": "account\/update-password.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-password.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1755,6 +1754,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-password.md", "auth": { "Project": [] } @@ -1820,7 +1820,6 @@ "cookies": false, "type": "", "demo": "account\/update-phone.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-phone.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1832,6 +1831,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-phone.md", "auth": { "Project": [] } @@ -1898,7 +1898,6 @@ "cookies": false, "type": "", "demo": "account\/get-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1910,6 +1909,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-prefs.md", "auth": { "Project": [] } @@ -1949,7 +1949,6 @@ "cookies": false, "type": "", "demo": "account\/update-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1961,6 +1960,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-prefs.md", "auth": { "Project": [] } @@ -2021,7 +2021,6 @@ "cookies": false, "type": "", "demo": "account\/create-recovery.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-recovery.md", "rate-limit": 10, "rate-time": 3600, "rate-key": [ @@ -2036,6 +2035,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-recovery.md", "auth": { "Project": [] } @@ -2100,7 +2100,6 @@ "cookies": false, "type": "", "demo": "account\/update-recovery.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-recovery.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},userId:{param-userId}", @@ -2112,6 +2111,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-recovery.md", "auth": { "Project": [] } @@ -2184,7 +2184,6 @@ "cookies": false, "type": "", "demo": "account\/list-sessions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-sessions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2196,6 +2195,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-sessions.md", "auth": { "Project": [] } @@ -2228,7 +2228,6 @@ "cookies": false, "type": "", "demo": "account\/delete-sessions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-sessions.md", "rate-limit": 100, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2240,6 +2239,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-sessions.md", "auth": { "Project": [] } @@ -2281,7 +2281,6 @@ "cookies": false, "type": "", "demo": "account\/create-anonymous-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-anonymous.md", "rate-limit": 50, "rate-time": 3600, "rate-key": "ip:{ip}", @@ -2293,6 +2292,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-anonymous.md", "auth": { "Project": [] } @@ -2334,7 +2334,6 @@ "cookies": false, "type": "", "demo": "account\/create-email-password-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-email-password.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},email:{param-email}", @@ -2346,6 +2345,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-email-password.md", "auth": { "Project": [] } @@ -2412,7 +2412,6 @@ "cookies": false, "type": "", "demo": "account\/update-magic-url-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "ip:{ip},userId:{param-userId}", @@ -2424,6 +2423,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "deprecated": { "since": "1.6.0", "replaceWith": "account.createSession" @@ -2487,7 +2487,6 @@ "cookies": false, "type": "webAuth", "demo": "account\/create-o-auth-2-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-oauth2.md", "rate-limit": 50, "rate-time": 3600, "rate-key": "ip:{ip}", @@ -2499,6 +2498,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-oauth2.md", "auth": { "Project": [] } @@ -2633,7 +2633,6 @@ "cookies": false, "type": "", "demo": "account\/update-phone-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "ip:{ip},userId:{param-userId}", @@ -2645,6 +2644,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "deprecated": { "since": "1.6.0", "replaceWith": "account.createSession" @@ -2715,7 +2715,6 @@ "cookies": false, "type": "", "demo": "account\/create-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "ip:{ip},userId:{param-userId}", @@ -2727,6 +2726,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "auth": { "Project": [] } @@ -2793,7 +2793,6 @@ "cookies": false, "type": "", "demo": "account\/get-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-session.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2805,6 +2804,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-session.md", "auth": { "Project": [] } @@ -2856,7 +2856,6 @@ "cookies": false, "type": "", "demo": "account\/update-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-session.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2868,6 +2867,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-session.md", "auth": { "Project": [] } @@ -2912,7 +2912,6 @@ "cookies": false, "type": "", "demo": "account\/delete-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-session.md", "rate-limit": 100, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2924,6 +2923,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-session.md", "auth": { "Project": [] } @@ -2977,7 +2977,6 @@ "cookies": false, "type": "", "demo": "account\/update-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2989,6 +2988,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-status.md", "auth": { "Project": [] } @@ -3030,7 +3030,6 @@ "cookies": false, "type": "", "demo": "account\/create-push-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-push-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -3041,6 +3040,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-push-target.md", "auth": { "Project": [] } @@ -3111,7 +3111,6 @@ "cookies": false, "type": "", "demo": "account\/update-push-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-push-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -3122,6 +3121,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-push-target.md", "auth": { "Project": [] } @@ -3184,7 +3184,6 @@ "cookies": false, "type": "", "demo": "account\/delete-push-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-push-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -3195,6 +3194,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-push-target.md", "auth": { "Project": [] } @@ -3247,7 +3247,6 @@ "cookies": false, "type": "", "demo": "account\/create-email-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-email.md", "rate-limit": 10, "rate-time": 3600, "rate-key": [ @@ -3262,6 +3261,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-email.md", "auth": { "Project": [] } @@ -3333,7 +3333,6 @@ "cookies": false, "type": "", "demo": "account\/create-magic-url-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-magic-url.md", "rate-limit": 60, "rate-time": 3600, "rate-key": [ @@ -3348,6 +3347,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-magic-url.md", "auth": { "Project": [] } @@ -3417,7 +3417,6 @@ "cookies": false, "type": "webAuth", "demo": "account\/create-o-auth-2-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-oauth2.md", "rate-limit": 50, "rate-time": 3600, "rate-key": "ip:{ip}", @@ -3429,6 +3428,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-oauth2.md", "auth": { "Project": [] } @@ -3563,7 +3563,6 @@ "cookies": false, "type": "", "demo": "account\/create-phone-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-phone.md", "rate-limit": 10, "rate-time": 3600, "rate-key": [ @@ -3578,6 +3577,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-phone.md", "auth": { "Project": [] } @@ -3644,7 +3644,6 @@ "cookies": false, "type": "", "demo": "account\/create-email-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-email-verification.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},userId:{userId}", @@ -3656,6 +3655,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-email-verification.md", "methods": [ { "name": "createEmailVerification", @@ -3766,7 +3766,6 @@ "cookies": false, "type": "", "demo": "account\/update-email-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-email-verification.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},userId:{param-userId}", @@ -3778,6 +3777,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-email-verification.md", "methods": [ { "name": "updateEmailVerification", @@ -3900,7 +3900,6 @@ "cookies": false, "type": "", "demo": "account\/create-phone-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-phone-verification.md", "rate-limit": 10, "rate-time": 3600, "rate-key": [ @@ -3915,6 +3914,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-phone-verification.md", "auth": { "Project": [] } @@ -3954,7 +3954,6 @@ "cookies": false, "type": "", "demo": "account\/update-phone-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-phone-verification.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "userId:{param-userId}", @@ -3966,6 +3965,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-phone-verification.md", "auth": { "Project": [] } @@ -4025,7 +4025,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-browser.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-browser.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4038,6 +4037,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-browser.md", "auth": { "Project": [] } @@ -4153,7 +4153,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-credit-card.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-credit-card.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4166,6 +4165,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-credit-card.md", "auth": { "Project": [] } @@ -4287,7 +4287,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-favicon.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-favicon.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4300,6 +4299,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-favicon.md", "auth": { "Project": [] } @@ -4347,7 +4347,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-flag.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-flag.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4360,6 +4359,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-flag.md", "auth": { "Project": [] } @@ -4837,7 +4837,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-image.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-image.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4850,6 +4849,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-image.md", "auth": { "Project": [] } @@ -4921,7 +4921,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-initials.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-initials.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4934,6 +4933,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-initials.md", "auth": { "Project": [] } @@ -5015,7 +5015,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-qr.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-qr.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -5028,6 +5027,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-qr.md", "auth": { "Project": [] } @@ -5109,7 +5109,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-screenshot.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-screenshot.md", "rate-limit": 60, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -5122,6 +5121,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-screenshot.md", "auth": { "Project": [] } @@ -5862,7 +5862,6 @@ "cookies": false, "type": "", "demo": "databases\/list-transactions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-transactions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -5875,6 +5874,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-transactions.md", "auth": { "Project": [] } @@ -5929,7 +5929,6 @@ "cookies": false, "type": "", "demo": "databases\/create-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -5942,6 +5941,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-transaction.md", "auth": { "Project": [] } @@ -5999,7 +5999,6 @@ "cookies": false, "type": "", "demo": "databases\/get-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6012,6 +6011,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-transaction.md", "auth": { "Project": [] } @@ -6063,7 +6063,6 @@ "cookies": false, "type": "", "demo": "databases\/update-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6076,6 +6075,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-transaction.md", "auth": { "Project": [] } @@ -6141,7 +6141,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6154,6 +6153,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-transaction.md", "auth": { "Project": [] } @@ -6207,7 +6207,6 @@ "cookies": false, "type": "", "demo": "databases\/create-operations.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-operations.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6220,6 +6219,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-operations.md", "auth": { "Project": [] } @@ -6292,7 +6292,6 @@ "cookies": false, "type": "", "demo": "databases\/list-documents.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-documents.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6305,6 +6304,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-documents.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.listRows" @@ -6404,7 +6404,6 @@ "cookies": false, "type": "", "demo": "databases\/create-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-document.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -6417,6 +6416,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createRow" @@ -6565,7 +6565,6 @@ "cookies": false, "type": "", "demo": "databases\/get-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-document.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6578,6 +6577,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.getRow" @@ -6676,7 +6676,6 @@ "cookies": false, "type": "", "demo": "databases\/upsert-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-document.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -6689,6 +6688,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.upsertRow" @@ -6835,7 +6835,6 @@ "cookies": false, "type": "", "demo": "databases\/update-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-document.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -6848,6 +6847,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateRow" @@ -6947,7 +6947,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-document.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -6960,6 +6959,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.deleteRow" @@ -7054,7 +7054,6 @@ "cookies": false, "type": "", "demo": "databases\/decrement-document-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/decrement-document-attribute.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -7067,6 +7066,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/decrement-document-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.decrementRowColumn" @@ -7181,7 +7181,6 @@ "cookies": false, "type": "", "demo": "databases\/increment-document-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/increment-document-attribute.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -7194,6 +7193,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/increment-document-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.incrementRowColumn" @@ -7308,7 +7308,6 @@ "cookies": false, "type": "", "demo": "functions\/list-executions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all the current user function execution logs. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7396,7 +7395,6 @@ "cookies": false, "type": "", "demo": "functions\/create-execution.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterTrigger a function execution. The returned object will return you the current execution status. You can ping the `Get Execution` endpoint to get updates on the current execution status. Once this endpoint is called, your function execution process will start asynchronously.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7515,7 +7513,6 @@ "cookies": false, "type": "", "demo": "functions\/get-execution.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a function execution log by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7591,7 +7588,6 @@ "cookies": false, "type": "graphql", "demo": "graphql\/query.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "rate-limit": 60, "rate-time": 60, "rate-key": "url:{url},ip:{ip}", @@ -7604,6 +7600,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "auth": { "Project": [] } @@ -7645,7 +7642,6 @@ "cookies": false, "type": "graphql", "demo": "graphql\/mutation.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "rate-limit": 60, "rate-time": 60, "rate-key": "url:{url},ip:{ip}", @@ -7658,6 +7654,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "auth": { "Project": [] } @@ -7699,7 +7696,6 @@ "cookies": false, "type": "", "demo": "locale\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/get-locale.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7712,6 +7708,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/get-locale.md", "auth": { "Project": [] } @@ -7753,7 +7750,6 @@ "cookies": false, "type": "", "demo": "locale\/list-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-locale-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7766,6 +7762,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-locale-codes.md", "auth": { "Project": [] } @@ -7807,7 +7804,6 @@ "cookies": false, "type": "", "demo": "locale\/list-continents.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-continents.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7820,6 +7816,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-continents.md", "auth": { "Project": [] } @@ -7861,7 +7858,6 @@ "cookies": false, "type": "", "demo": "locale\/list-countries.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7874,6 +7870,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries.md", "auth": { "Project": [] } @@ -7915,7 +7912,6 @@ "cookies": false, "type": "", "demo": "locale\/list-countries-eu.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-eu.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7928,6 +7924,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-eu.md", "auth": { "Project": [] } @@ -7969,7 +7966,6 @@ "cookies": false, "type": "", "demo": "locale\/list-countries-phones.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-phones.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7982,6 +7978,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-phones.md", "auth": { "Project": [] } @@ -8023,7 +8020,6 @@ "cookies": false, "type": "", "demo": "locale\/list-currencies.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-currencies.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8036,6 +8032,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-currencies.md", "auth": { "Project": [] } @@ -8077,7 +8074,6 @@ "cookies": false, "type": "", "demo": "locale\/list-languages.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-languages.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8090,6 +8086,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-languages.md", "auth": { "Project": [] } @@ -8131,7 +8128,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-subscriber.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-subscriber.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8144,6 +8140,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-subscriber.md", "auth": { "Project": [] } @@ -8215,7 +8212,6 @@ "cookies": false, "type": "", "demo": "messaging\/delete-subscriber.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-subscriber.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8228,6 +8224,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-subscriber.md", "auth": { "Project": [] } @@ -8291,7 +8288,6 @@ "cookies": false, "type": "", "demo": "storage\/list-files.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-files.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8304,6 +8300,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-files.md", "auth": { "Project": [] } @@ -8390,7 +8387,6 @@ "cookies": false, "type": "upload", "demo": "storage\/create-file.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-file.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId},chunkId:{chunkId}", @@ -8403,6 +8399,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-file.md", "auth": { "Project": [] } @@ -8491,7 +8488,6 @@ "cookies": false, "type": "", "demo": "storage\/get-file.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8504,6 +8500,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file.md", "auth": { "Project": [] } @@ -8565,7 +8562,6 @@ "cookies": false, "type": "", "demo": "storage\/update-file.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/update-file.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -8578,6 +8574,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/update-file.md", "auth": { "Project": [] } @@ -8658,7 +8655,6 @@ "cookies": false, "type": "", "demo": "storage\/delete-file.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/delete-file.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -8671,6 +8667,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/delete-file.md", "auth": { "Project": [] } @@ -8727,7 +8724,6 @@ "cookies": false, "type": "location", "demo": "storage\/get-file-download.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-download.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8740,6 +8736,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-download.md", "auth": { "Project": [] } @@ -8807,7 +8804,6 @@ "cookies": false, "type": "location", "demo": "storage\/get-file-preview.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-preview.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8820,6 +8816,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-preview.md", "auth": { "Project": [] } @@ -9037,7 +9034,6 @@ "cookies": false, "type": "location", "demo": "storage\/get-file-view.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-view.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9050,6 +9046,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-view.md", "auth": { "Project": [] } @@ -9124,7 +9121,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-transactions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-transactions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9140,6 +9136,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-transactions.md", "auth": { "Project": [] } @@ -9194,7 +9191,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9210,6 +9206,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-transaction.md", "auth": { "Project": [] } @@ -9267,7 +9264,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9283,6 +9279,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-transaction.md", "auth": { "Project": [] } @@ -9334,7 +9331,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9350,6 +9346,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-transaction.md", "auth": { "Project": [] } @@ -9415,7 +9412,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9431,6 +9427,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-transaction.md", "auth": { "Project": [] } @@ -9484,7 +9481,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-operations.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-operations.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9500,6 +9496,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-operations.md", "auth": { "Project": [] } @@ -9572,7 +9569,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-rows.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-rows.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9588,6 +9584,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-rows.md", "auth": { "Project": [] } @@ -9683,7 +9680,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-row.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -9699,6 +9695,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-row.md", "methods": [ { "name": "createRow", @@ -9839,7 +9836,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-row.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9855,6 +9851,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-row.md", "auth": { "Project": [] } @@ -9949,7 +9946,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/upsert-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/upsert-row.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -9965,6 +9961,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/upsert-row.md", "methods": [ { "name": "upsertRow", @@ -10099,7 +10096,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-row.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -10115,6 +10111,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-row.md", "auth": { "Project": [] } @@ -10210,7 +10207,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-row.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -10226,6 +10222,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-row.md", "auth": { "Project": [] } @@ -10316,7 +10313,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/decrement-row-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/decrement-row-column.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -10332,6 +10328,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/decrement-row-column.md", "auth": { "Project": [] } @@ -10442,7 +10439,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/increment-row-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/increment-row-column.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -10458,6 +10454,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/increment-row-column.md", "auth": { "Project": [] } @@ -10568,7 +10565,6 @@ "cookies": false, "type": "", "demo": "teams\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-teams.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10581,6 +10577,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-teams.md", "auth": { "Project": [] } @@ -10657,7 +10654,6 @@ "cookies": false, "type": "", "demo": "teams\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10670,6 +10666,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team.md", "auth": { "Project": [] } @@ -10744,7 +10741,6 @@ "cookies": false, "type": "", "demo": "teams\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10757,6 +10753,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team.md", "auth": { "Project": [] } @@ -10808,7 +10805,6 @@ "cookies": false, "type": "", "demo": "teams\/update-name.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-name.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10821,6 +10817,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-name.md", "auth": { "Project": [] } @@ -10884,7 +10881,6 @@ "cookies": false, "type": "", "demo": "teams\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10897,6 +10893,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team.md", "auth": { "Project": [] } @@ -10950,7 +10947,6 @@ "cookies": false, "type": "", "demo": "teams\/list-memberships.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-team-members.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10963,6 +10959,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-team-members.md", "auth": { "Project": [] } @@ -11049,7 +11046,6 @@ "cookies": false, "type": "", "demo": "teams\/create-membership.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team-membership.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -11062,6 +11058,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team-membership.md", "auth": { "Project": [] } @@ -11169,7 +11166,6 @@ "cookies": false, "type": "", "demo": "teams\/get-membership.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-member.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -11182,6 +11178,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-member.md", "auth": { "Project": [] } @@ -11243,7 +11240,6 @@ "cookies": false, "type": "", "demo": "teams\/update-membership.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -11256,6 +11252,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership.md", "auth": { "Project": [] } @@ -11339,7 +11336,6 @@ "cookies": false, "type": "", "demo": "teams\/delete-membership.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team-membership.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -11352,6 +11348,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team-membership.md", "auth": { "Project": [] } @@ -11415,7 +11412,6 @@ "cookies": false, "type": "", "demo": "teams\/update-membership-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -11427,6 +11423,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership-status.md", "auth": { "Project": [] } @@ -11515,7 +11512,6 @@ "cookies": false, "type": "", "demo": "teams\/get-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -11527,6 +11523,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-prefs.md", "auth": { "Project": [] } @@ -11578,7 +11575,6 @@ "cookies": false, "type": "", "demo": "teams\/update-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -11590,6 +11586,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-prefs.md", "auth": { "Project": [] } diff --git a/app/config/specs/open-api3-1.8.x-console.json b/app/config/specs/open-api3-1.8.x-console.json index e639490175..ae3b98970f 100644 --- a/app/config/specs/open-api3-1.8.x-console.json +++ b/app/config/specs/open-api3-1.8.x-console.json @@ -52,7 +52,6 @@ "cookies": false, "type": "", "demo": "account\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -64,6 +63,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get.md", "auth": { "Project": [] } @@ -102,7 +102,6 @@ "cookies": false, "type": "", "demo": "account\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -114,6 +113,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create.md", "auth": { "Project": [] } @@ -181,7 +181,6 @@ "cookies": false, "type": "", "demo": "account\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -191,6 +190,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete.md", "auth": { "Project": [] } @@ -230,7 +230,6 @@ "cookies": false, "type": "", "demo": "account\/update-email.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-email.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -242,6 +241,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-email.md", "auth": { "Project": [] } @@ -307,7 +307,6 @@ "cookies": false, "type": "", "demo": "account\/list-identities.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-identities.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -319,6 +318,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-identities.md", "auth": { "Project": [] } @@ -378,7 +378,6 @@ "cookies": false, "type": "", "demo": "account\/delete-identity.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-identity.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -390,6 +389,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-identity.md", "auth": { "Project": [] } @@ -442,7 +442,6 @@ "cookies": false, "type": "", "demo": "account\/create-jwt.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-jwt.md", "rate-limit": 100, "rate-time": 3600, "rate-key": "url:{url},userId:{userId}", @@ -454,6 +453,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-jwt.md", "auth": { "Project": [] } @@ -494,7 +494,6 @@ "cookies": false, "type": "", "demo": "account\/list-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -506,6 +505,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-logs.md", "auth": { "Project": [] } @@ -572,7 +572,6 @@ "cookies": false, "type": "", "demo": "account\/update-mfa.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -584,6 +583,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa.md", "auth": { "Project": [] } @@ -643,7 +643,6 @@ "cookies": false, "type": "", "demo": "account\/create-mfa-authenticator.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-authenticator.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -655,6 +654,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-authenticator.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.createMFAAuthenticator" @@ -766,7 +766,6 @@ "cookies": false, "type": "", "demo": "account\/update-mfa-authenticator.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-authenticator.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -778,6 +777,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-authenticator.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.updateMFAAuthenticator" @@ -905,7 +905,6 @@ "cookies": false, "type": "", "demo": "account\/delete-mfa-authenticator.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-mfa-authenticator.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -917,6 +916,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-mfa-authenticator.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.deleteMFAAuthenticator" @@ -1028,7 +1028,6 @@ "cookies": false, "type": "", "demo": "account\/create-mfa-challenge.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-challenge.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},userId:{userId}", @@ -1040,6 +1039,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-challenge.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.createMFAChallenge" @@ -1161,7 +1161,6 @@ "cookies": false, "type": "", "demo": "account\/update-mfa-challenge.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-challenge.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},challengeId:{param-challengeId}", @@ -1173,6 +1172,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-challenge.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.updateMFAChallenge" @@ -1298,7 +1298,6 @@ "cookies": false, "type": "", "demo": "account\/list-mfa-factors.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-mfa-factors.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1310,6 +1309,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-mfa-factors.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.listMFAFactors" @@ -1398,7 +1398,6 @@ "cookies": false, "type": "", "demo": "account\/get-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1410,6 +1409,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.getMFARecoveryCodes" @@ -1496,7 +1496,6 @@ "cookies": false, "type": "", "demo": "account\/create-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1508,6 +1507,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.createMFARecoveryCodes" @@ -1594,7 +1594,6 @@ "cookies": false, "type": "", "demo": "account\/update-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1606,6 +1605,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.updateMFARecoveryCodes" @@ -1694,7 +1694,6 @@ "cookies": false, "type": "", "demo": "account\/update-name.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-name.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1706,6 +1705,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-name.md", "auth": { "Project": [] } @@ -1765,7 +1765,6 @@ "cookies": false, "type": "", "demo": "account\/update-password.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-password.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1777,6 +1776,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-password.md", "auth": { "Project": [] } @@ -1841,7 +1841,6 @@ "cookies": false, "type": "", "demo": "account\/update-phone.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-phone.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1853,6 +1852,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-phone.md", "auth": { "Project": [] } @@ -1918,7 +1918,6 @@ "cookies": false, "type": "", "demo": "account\/get-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1930,6 +1929,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-prefs.md", "auth": { "Project": [] } @@ -1968,7 +1968,6 @@ "cookies": false, "type": "", "demo": "account\/update-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1980,6 +1979,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-prefs.md", "auth": { "Project": [] } @@ -2039,7 +2039,6 @@ "cookies": false, "type": "", "demo": "account\/create-recovery.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-recovery.md", "rate-limit": 10, "rate-time": 3600, "rate-key": [ @@ -2054,6 +2053,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-recovery.md", "auth": { "Project": [] } @@ -2117,7 +2117,6 @@ "cookies": false, "type": "", "demo": "account\/update-recovery.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-recovery.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},userId:{param-userId}", @@ -2129,6 +2128,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-recovery.md", "auth": { "Project": [] } @@ -2200,7 +2200,6 @@ "cookies": false, "type": "", "demo": "account\/list-sessions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-sessions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2212,6 +2211,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-sessions.md", "auth": { "Project": [] } @@ -2243,7 +2243,6 @@ "cookies": false, "type": "", "demo": "account\/delete-sessions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-sessions.md", "rate-limit": 100, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2255,6 +2254,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-sessions.md", "auth": { "Project": [] } @@ -2295,7 +2295,6 @@ "cookies": false, "type": "", "demo": "account\/create-anonymous-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-anonymous.md", "rate-limit": 50, "rate-time": 3600, "rate-key": "ip:{ip}", @@ -2307,6 +2306,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-anonymous.md", "auth": { "Project": [] } @@ -2347,7 +2347,6 @@ "cookies": false, "type": "", "demo": "account\/create-email-password-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-email-password.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},email:{param-email}", @@ -2359,6 +2358,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-email-password.md", "auth": { "Project": [] } @@ -2424,7 +2424,6 @@ "cookies": false, "type": "", "demo": "account\/update-magic-url-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "ip:{ip},userId:{param-userId}", @@ -2436,6 +2435,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "deprecated": { "since": "1.6.0", "replaceWith": "account.createSession" @@ -2498,7 +2498,6 @@ "cookies": false, "type": "webAuth", "demo": "account\/create-o-auth-2-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-oauth2.md", "rate-limit": 50, "rate-time": 3600, "rate-key": "ip:{ip}", @@ -2510,6 +2509,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-oauth2.md", "auth": { "Project": [] } @@ -2643,7 +2643,6 @@ "cookies": false, "type": "", "demo": "account\/update-phone-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "ip:{ip},userId:{param-userId}", @@ -2655,6 +2654,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "deprecated": { "since": "1.6.0", "replaceWith": "account.createSession" @@ -2724,7 +2724,6 @@ "cookies": false, "type": "", "demo": "account\/create-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "ip:{ip},userId:{param-userId}", @@ -2736,6 +2735,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "auth": { "Project": [] } @@ -2801,7 +2801,6 @@ "cookies": false, "type": "", "demo": "account\/get-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-session.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2813,6 +2812,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-session.md", "auth": { "Project": [] } @@ -2863,7 +2863,6 @@ "cookies": false, "type": "", "demo": "account\/update-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-session.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2875,6 +2874,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-session.md", "auth": { "Project": [] } @@ -2918,7 +2918,6 @@ "cookies": false, "type": "", "demo": "account\/delete-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-session.md", "rate-limit": 100, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2930,6 +2929,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-session.md", "auth": { "Project": [] } @@ -2982,7 +2982,6 @@ "cookies": false, "type": "", "demo": "account\/update-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2994,6 +2993,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-status.md", "auth": { "Project": [] } @@ -3034,7 +3034,6 @@ "cookies": false, "type": "", "demo": "account\/create-push-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-push-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -3045,6 +3044,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-push-target.md", "auth": { "Project": [] } @@ -3114,7 +3114,6 @@ "cookies": false, "type": "", "demo": "account\/update-push-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-push-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -3125,6 +3124,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-push-target.md", "auth": { "Project": [] } @@ -3186,7 +3186,6 @@ "cookies": false, "type": "", "demo": "account\/delete-push-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-push-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -3197,6 +3196,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-push-target.md", "auth": { "Project": [] } @@ -3248,7 +3248,6 @@ "cookies": false, "type": "", "demo": "account\/create-email-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-email.md", "rate-limit": 10, "rate-time": 3600, "rate-key": [ @@ -3263,6 +3262,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-email.md", "auth": { "Project": [] } @@ -3333,7 +3333,6 @@ "cookies": false, "type": "", "demo": "account\/create-magic-url-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-magic-url.md", "rate-limit": 60, "rate-time": 3600, "rate-key": [ @@ -3348,6 +3347,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-magic-url.md", "auth": { "Project": [] } @@ -3416,7 +3416,6 @@ "cookies": false, "type": "webAuth", "demo": "account\/create-o-auth-2-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-oauth2.md", "rate-limit": 50, "rate-time": 3600, "rate-key": "ip:{ip}", @@ -3428,6 +3427,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-oauth2.md", "auth": { "Project": [] } @@ -3561,7 +3561,6 @@ "cookies": false, "type": "", "demo": "account\/create-phone-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-phone.md", "rate-limit": 10, "rate-time": 3600, "rate-key": [ @@ -3576,6 +3575,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-phone.md", "auth": { "Project": [] } @@ -3641,7 +3641,6 @@ "cookies": false, "type": "", "demo": "account\/create-email-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-email-verification.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},userId:{userId}", @@ -3653,6 +3652,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-email-verification.md", "methods": [ { "name": "createEmailVerification", @@ -3762,7 +3762,6 @@ "cookies": false, "type": "", "demo": "account\/update-email-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-email-verification.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},userId:{param-userId}", @@ -3774,6 +3773,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-email-verification.md", "methods": [ { "name": "updateEmailVerification", @@ -3895,7 +3895,6 @@ "cookies": false, "type": "", "demo": "account\/create-phone-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-phone-verification.md", "rate-limit": 10, "rate-time": 3600, "rate-key": [ @@ -3910,6 +3909,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-phone-verification.md", "auth": { "Project": [] } @@ -3948,7 +3948,6 @@ "cookies": false, "type": "", "demo": "account\/update-phone-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-phone-verification.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "userId:{param-userId}", @@ -3960,6 +3959,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-phone-verification.md", "auth": { "Project": [] } @@ -4018,7 +4018,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-browser.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-browser.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4031,6 +4030,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-browser.md", "auth": { "Project": [] } @@ -4146,7 +4146,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-credit-card.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-credit-card.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4159,6 +4158,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-credit-card.md", "auth": { "Project": [] } @@ -4280,7 +4280,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-favicon.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-favicon.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4293,6 +4292,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-favicon.md", "auth": { "Project": [] } @@ -4340,7 +4340,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-flag.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-flag.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4353,6 +4352,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-flag.md", "auth": { "Project": [] } @@ -4830,7 +4830,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-image.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-image.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4843,6 +4842,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-image.md", "auth": { "Project": [] } @@ -4914,7 +4914,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-initials.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-initials.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4927,6 +4926,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-initials.md", "auth": { "Project": [] } @@ -5008,7 +5008,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-qr.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-qr.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -5021,6 +5020,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-qr.md", "auth": { "Project": [] } @@ -5102,7 +5102,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-screenshot.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-screenshot.md", "rate-limit": 60, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -5115,6 +5114,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-screenshot.md", "auth": { "Project": [] } @@ -5848,7 +5848,6 @@ "cookies": false, "type": "", "demo": "assistant\/chat.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/assistant\/chat.md", "rate-limit": 15, "rate-time": 3600, "rate-key": "userId:{userId}", @@ -5858,6 +5857,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/assistant\/chat.md", "auth": { "Project": [] } @@ -5909,7 +5909,6 @@ "cookies": false, "type": "", "demo": "console\/get-resource.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCheck if a resource ID is available.", "rate-limit": 120, "rate-time": 60, "rate-key": "userId:{userId}, url:{url}", @@ -5985,7 +5984,6 @@ "cookies": false, "type": "", "demo": "console\/variables.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/console\/variables.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -5995,6 +5993,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/console\/variables.md", "auth": { "Project": [] } @@ -6034,7 +6033,6 @@ "cookies": false, "type": "", "demo": "databases\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6045,6 +6043,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.list" @@ -6153,7 +6152,6 @@ "cookies": false, "type": "", "demo": "databases\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6164,6 +6162,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.create" @@ -6270,7 +6269,6 @@ "cookies": false, "type": "", "demo": "databases\/list-transactions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-transactions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6283,6 +6281,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-transactions.md", "auth": { "Project": [] } @@ -6337,7 +6336,6 @@ "cookies": false, "type": "", "demo": "databases\/create-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6350,6 +6348,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-transaction.md", "auth": { "Project": [] } @@ -6407,7 +6406,6 @@ "cookies": false, "type": "", "demo": "databases\/get-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6420,6 +6418,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-transaction.md", "auth": { "Project": [] } @@ -6471,7 +6470,6 @@ "cookies": false, "type": "", "demo": "databases\/update-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6484,6 +6482,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-transaction.md", "auth": { "Project": [] } @@ -6549,7 +6548,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6562,6 +6560,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-transaction.md", "auth": { "Project": [] } @@ -6615,7 +6614,6 @@ "cookies": false, "type": "", "demo": "databases\/create-operations.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-operations.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6628,6 +6626,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-operations.md", "auth": { "Project": [] } @@ -6700,7 +6699,6 @@ "cookies": false, "type": "", "demo": "databases\/list-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6710,6 +6708,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-usage.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.listUsage" @@ -6804,7 +6803,6 @@ "cookies": false, "type": "", "demo": "databases\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6815,6 +6813,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.get" @@ -6898,7 +6897,6 @@ "cookies": false, "type": "", "demo": "databases\/update.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6909,6 +6907,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.update" @@ -7012,7 +7011,6 @@ "cookies": false, "type": "", "demo": "databases\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7023,6 +7021,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.delete" @@ -7107,7 +7106,6 @@ "cookies": false, "type": "", "demo": "databases\/list-collections.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-collections.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7118,6 +7116,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-collections.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.listTables" @@ -7207,7 +7206,6 @@ "cookies": false, "type": "", "demo": "databases\/create-collection.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-collection.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7218,6 +7216,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-collection.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createTable" @@ -7334,7 +7333,6 @@ "cookies": false, "type": "", "demo": "databases\/get-collection.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-collection.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7345,6 +7343,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-collection.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.getTable" @@ -7409,7 +7408,6 @@ "cookies": false, "type": "", "demo": "databases\/update-collection.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-collection.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7420,6 +7418,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-collection.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateTable" @@ -7515,7 +7514,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-collection.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-collection.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7526,6 +7524,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-collection.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.deleteTable" @@ -7592,7 +7591,6 @@ "cookies": false, "type": "", "demo": "databases\/list-attributes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-attributes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7603,6 +7601,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-attributes.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.listColumns" @@ -7693,7 +7692,6 @@ "cookies": false, "type": "", "demo": "databases\/create-boolean-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-boolean-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7704,6 +7702,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-boolean-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createBooleanColumn" @@ -7806,7 +7805,6 @@ "cookies": false, "type": "", "demo": "databases\/update-boolean-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-boolean-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7817,6 +7815,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-boolean-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateBooleanColumn" @@ -7924,7 +7923,6 @@ "cookies": false, "type": "", "demo": "databases\/create-datetime-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-datetime-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7935,6 +7933,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-datetime-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createDatetimeColumn" @@ -8037,7 +8036,6 @@ "cookies": false, "type": "", "demo": "databases\/update-datetime-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-datetime-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8048,6 +8046,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-datetime-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateDatetimeColumn" @@ -8155,7 +8154,6 @@ "cookies": false, "type": "", "demo": "databases\/create-email-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-email-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8166,6 +8164,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-email-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createEmailColumn" @@ -8268,7 +8267,6 @@ "cookies": false, "type": "", "demo": "databases\/update-email-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-email-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8279,6 +8277,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-email-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateEmailColumn" @@ -8386,7 +8385,6 @@ "cookies": false, "type": "", "demo": "databases\/create-enum-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-enum-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8397,6 +8395,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-enum-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createEnumColumn" @@ -8508,7 +8507,6 @@ "cookies": false, "type": "", "demo": "databases\/update-enum-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-enum-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8519,6 +8517,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-enum-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateEnumColumn" @@ -8635,7 +8634,6 @@ "cookies": false, "type": "", "demo": "databases\/create-float-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-float-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8646,6 +8644,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-float-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createFloatColumn" @@ -8760,7 +8759,6 @@ "cookies": false, "type": "", "demo": "databases\/update-float-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-float-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8771,6 +8769,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-float-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateFloatColumn" @@ -8890,7 +8889,6 @@ "cookies": false, "type": "", "demo": "databases\/create-integer-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-integer-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8901,6 +8899,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-integer-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createIntegerColumn" @@ -9015,7 +9014,6 @@ "cookies": false, "type": "", "demo": "databases\/update-integer-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-integer-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9026,6 +9024,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-integer-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateIntegerColumn" @@ -9145,7 +9144,6 @@ "cookies": false, "type": "", "demo": "databases\/create-ip-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-ip-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9156,6 +9154,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-ip-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createIpColumn" @@ -9258,7 +9257,6 @@ "cookies": false, "type": "", "demo": "databases\/update-ip-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-ip-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9269,6 +9267,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-ip-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateIpColumn" @@ -9376,7 +9375,6 @@ "cookies": false, "type": "", "demo": "databases\/create-line-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-line-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9387,6 +9385,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-line-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createLineColumn" @@ -9491,7 +9490,6 @@ "cookies": false, "type": "", "demo": "databases\/update-line-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-line-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9502,6 +9500,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-line-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateLineColumn" @@ -9615,7 +9614,6 @@ "cookies": false, "type": "", "demo": "databases\/create-point-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-point-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9626,6 +9624,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-point-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createPointColumn" @@ -9730,7 +9729,6 @@ "cookies": false, "type": "", "demo": "databases\/update-point-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-point-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9741,6 +9739,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-point-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updatePointColumn" @@ -9854,7 +9853,6 @@ "cookies": false, "type": "", "demo": "databases\/create-polygon-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-polygon-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9865,6 +9863,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-polygon-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createPolygonColumn" @@ -9969,7 +9968,6 @@ "cookies": false, "type": "", "demo": "databases\/update-polygon-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-polygon-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9980,6 +9978,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-polygon-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updatePolygonColumn" @@ -10093,7 +10092,6 @@ "cookies": false, "type": "", "demo": "databases\/create-relationship-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-relationship-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10104,6 +10102,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-relationship-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createRelationshipColumn" @@ -10232,7 +10231,6 @@ "cookies": false, "type": "", "demo": "databases\/create-string-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-string-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10243,6 +10241,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-string-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createStringColumn" @@ -10356,7 +10355,6 @@ "cookies": false, "type": "", "demo": "databases\/update-string-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-string-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10367,6 +10365,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-string-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateStringColumn" @@ -10480,7 +10479,6 @@ "cookies": false, "type": "", "demo": "databases\/create-url-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-url-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10491,6 +10489,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-url-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createUrlColumn" @@ -10593,7 +10592,6 @@ "cookies": false, "type": "", "demo": "databases\/update-url-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-url-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10604,6 +10602,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-url-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateUrlColumn" @@ -10742,7 +10741,6 @@ "cookies": false, "type": "", "demo": "databases\/get-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10753,6 +10751,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.getColumn" @@ -10819,7 +10818,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10830,6 +10828,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.deleteColumn" @@ -10905,7 +10904,6 @@ "cookies": false, "type": "", "demo": "databases\/update-relationship-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-relationship-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10916,6 +10914,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-relationship-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateRelationshipColumn" @@ -11021,7 +11020,6 @@ "cookies": false, "type": "", "demo": "databases\/list-documents.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-documents.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -11034,6 +11032,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-documents.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.listRows" @@ -11133,7 +11132,6 @@ "cookies": false, "type": "", "demo": "databases\/create-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-document.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -11146,6 +11144,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createRow" @@ -11324,7 +11323,6 @@ "cookies": false, "type": "", "demo": "databases\/upsert-documents.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-documents.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -11335,6 +11333,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-documents.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.upsertRows" @@ -11461,7 +11460,6 @@ "cookies": false, "type": "", "demo": "databases\/update-documents.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-documents.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -11472,6 +11470,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-documents.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateRows" @@ -11566,7 +11565,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-documents.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-documents.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -11577,6 +11575,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-documents.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.deleteRows" @@ -11668,7 +11667,6 @@ "cookies": false, "type": "", "demo": "databases\/get-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-document.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -11681,6 +11679,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.getRow" @@ -11779,7 +11778,6 @@ "cookies": false, "type": "", "demo": "databases\/upsert-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-document.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -11792,6 +11790,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.upsertRow" @@ -11938,7 +11937,6 @@ "cookies": false, "type": "", "demo": "databases\/update-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-document.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -11951,6 +11949,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateRow" @@ -12050,7 +12049,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-document.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -12063,6 +12061,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.deleteRow" @@ -12157,7 +12156,6 @@ "cookies": false, "type": "", "demo": "databases\/list-document-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-document-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12167,6 +12165,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-document-logs.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.listRowLogs" @@ -12255,7 +12254,6 @@ "cookies": false, "type": "", "demo": "databases\/decrement-document-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/decrement-document-attribute.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -12268,6 +12266,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/decrement-document-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.decrementRowColumn" @@ -12382,7 +12381,6 @@ "cookies": false, "type": "", "demo": "databases\/increment-document-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/increment-document-attribute.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -12395,6 +12393,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/increment-document-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.incrementRowColumn" @@ -12509,7 +12508,6 @@ "cookies": false, "type": "", "demo": "databases\/list-indexes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-indexes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12520,6 +12518,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-indexes.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.listIndexes" @@ -12608,7 +12607,6 @@ "cookies": false, "type": "", "demo": "databases\/create-index.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12619,6 +12617,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-index.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createIndex" @@ -12749,7 +12748,6 @@ "cookies": false, "type": "", "demo": "databases\/get-index.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12760,6 +12758,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-index.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.getIndex" @@ -12826,7 +12825,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-index.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12837,6 +12835,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-index.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.deleteIndex" @@ -12912,7 +12911,6 @@ "cookies": false, "type": "", "demo": "databases\/list-collection-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-collection-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12922,6 +12920,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-collection-logs.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.listTableLogs" @@ -13000,7 +12999,6 @@ "cookies": false, "type": "", "demo": "databases\/get-collection-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-collection-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13010,6 +13008,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-collection-usage.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.getTableUsage" @@ -13097,7 +13096,6 @@ "cookies": false, "type": "", "demo": "databases\/list-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13107,6 +13105,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-logs.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.listDatabaseLogs" @@ -13205,7 +13204,6 @@ "cookies": false, "type": "", "demo": "databases\/get-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-database-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13215,6 +13213,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-database-usage.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.getUsage" @@ -13322,7 +13321,6 @@ "cookies": false, "type": "", "demo": "functions\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all the project's functions. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13408,7 +13406,6 @@ "cookies": false, "type": "", "demo": "functions\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new function. You can pass a list of [permissions](https:\/\/appwrite.io\/docs\/permissions) to allow different project users or team with access to execute the function using the client API.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13704,7 +13701,6 @@ "cookies": false, "type": "", "demo": "functions\/list-runtimes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all runtimes that are currently active on your instance.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13755,7 +13751,6 @@ "cookies": false, "type": "", "demo": "functions\/list-specifications.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterList allowed function specifications for this instance.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13806,7 +13801,6 @@ "cookies": false, "type": "", "demo": "functions\/list-templates.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterList available function templates. You can use template details in [createFunction](\/docs\/references\/cloud\/server-nodejs\/functions#create) method.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13999,7 +13993,6 @@ "cookies": false, "type": "", "demo": "functions\/get-template.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a function template using ID. You can use template details in [createFunction](\/docs\/references\/cloud\/server-nodejs\/functions#create) method.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14060,7 +14053,6 @@ "cookies": false, "type": "", "demo": "functions\/list-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet usage metrics and statistics for all functions in the project. View statistics including total deployments, builds, logs, storage usage, and compute time. The response includes both current totals and historical data for each metric. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, defaults to 30 days.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14133,7 +14125,6 @@ "cookies": false, "type": "", "demo": "functions\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a function by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14194,7 +14185,6 @@ "cookies": false, "type": "", "demo": "functions\/update.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate function by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14487,7 +14477,6 @@ "cookies": false, "type": "", "demo": "functions\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a function by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14550,7 +14539,6 @@ "cookies": false, "type": "", "demo": "functions\/update-function-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate the function active deployment. Use this endpoint to switch the code deployment that should be used when visitor opens your function.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14632,7 +14620,6 @@ "cookies": false, "type": "", "demo": "functions\/list-deployments.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all the function's code deployments. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14728,7 +14715,6 @@ "cookies": false, "type": "upload", "demo": "functions\/create-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new function code deployment. Use this endpoint to upload a new version of your code function. To execute your newly uploaded code, you'll need to update the function's deployment to use your new deployment UID.\n\nThis endpoint accepts a tar.gz file compressed with your code. Make sure to include any dependencies your code has within the compressed file. You can learn more about code packaging in the [Appwrite Cloud Functions tutorial](https:\/\/appwrite.io\/docs\/functions).\n\nUse the \"command\" param to set the entrypoint used to execute your code.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14828,7 +14814,6 @@ "cookies": false, "type": "", "demo": "functions\/create-duplicate-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new build for an existing function deployment. This endpoint allows you to rebuild a deployment with the updated function configuration, including its entrypoint and build commands if they have been modified. The build process will be queued and executed asynchronously. The original deployment's code will be preserved and used for the new build.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14915,7 +14900,6 @@ "cookies": false, "type": "", "demo": "functions\/create-template-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a deployment based on a template.\n\nUse this endpoint with combination of [listTemplates](https:\/\/appwrite.io\/docs\/products\/functions\/templates) to find the template details.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15033,7 +15017,6 @@ "cookies": false, "type": "", "demo": "functions\/create-vcs-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a deployment when a function is connected to VCS.\n\nThis endpoint lets you create deployment from a branch, commit, or a tag.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15132,7 +15115,6 @@ "cookies": false, "type": "", "demo": "functions\/get-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a function deployment by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15196,7 +15178,6 @@ "cookies": false, "type": "", "demo": "functions\/delete-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a code deployment by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15262,7 +15243,6 @@ "cookies": false, "type": "location", "demo": "functions\/get-deployment-download.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a function deployment content by its unique ID. The endpoint response return with a 'Content-Disposition: attachment' header that tells the browser to start downloading the file to user downloads directory.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15354,7 +15334,6 @@ "cookies": false, "type": "", "demo": "functions\/update-deployment-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCancel an ongoing function deployment build. If the build is already in progress, it will be stopped and marked as canceled. If the build hasn't started yet, it will be marked as canceled without executing. You cannot cancel builds that have already completed (status 'ready') or failed. The response includes the final build status and details.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15427,7 +15406,6 @@ "cookies": false, "type": "", "demo": "functions\/list-executions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all the current user function execution logs. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15515,7 +15493,6 @@ "cookies": false, "type": "", "demo": "functions\/create-execution.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterTrigger a function execution. The returned object will return you the current execution status. You can ping the `Get Execution` endpoint to get updates on the current execution status. Once this endpoint is called, your function execution process will start asynchronously.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15634,7 +15611,6 @@ "cookies": false, "type": "", "demo": "functions\/get-execution.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a function execution log by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15701,7 +15677,6 @@ "cookies": false, "type": "", "demo": "functions\/delete-execution.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a function execution by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15774,7 +15749,6 @@ "cookies": false, "type": "", "demo": "functions\/get-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet usage metrics and statistics for a for a specific function. View statistics including total deployments, builds, executions, storage usage, and compute time. The response includes both current totals and historical data for each metric. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, defaults to 30 days.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15857,7 +15831,6 @@ "cookies": false, "type": "", "demo": "functions\/list-variables.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all variables of a specific function.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15918,7 +15891,6 @@ "cookies": false, "type": "", "demo": "functions\/create-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new function environment variable. These variables can be accessed in the function at runtime as environment variables.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16011,7 +15983,6 @@ "cookies": false, "type": "", "demo": "functions\/get-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a variable by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16082,7 +16053,6 @@ "cookies": false, "type": "", "demo": "functions\/update-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate variable by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16177,7 +16147,6 @@ "cookies": false, "type": "", "demo": "functions\/delete-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a variable by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16250,7 +16219,6 @@ "cookies": false, "type": "graphql", "demo": "graphql\/query.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "rate-limit": 60, "rate-time": 60, "rate-key": "url:{url},ip:{ip}", @@ -16263,6 +16231,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "auth": { "Project": [] } @@ -16304,7 +16273,6 @@ "cookies": false, "type": "graphql", "demo": "graphql\/mutation.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "rate-limit": 60, "rate-time": 60, "rate-key": "url:{url},ip:{ip}", @@ -16317,6 +16285,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "auth": { "Project": [] } @@ -16358,7 +16327,6 @@ "cookies": false, "type": "", "demo": "health\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16369,6 +16337,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get.md", "auth": { "Project": [] } @@ -16409,7 +16378,6 @@ "cookies": false, "type": "", "demo": "health\/get-antivirus.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage-anti-virus.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16420,6 +16388,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage-anti-virus.md", "auth": { "Project": [] } @@ -16460,7 +16429,6 @@ "cookies": false, "type": "", "demo": "health\/get-cache.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-cache.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16471,6 +16439,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-cache.md", "auth": { "Project": [] } @@ -16511,7 +16480,6 @@ "cookies": false, "type": "", "demo": "health\/get-certificate.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-certificate.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16522,6 +16490,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-certificate.md", "auth": { "Project": [] } @@ -16573,7 +16542,6 @@ "cookies": false, "type": "", "demo": "health\/get-db.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-db.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16584,6 +16552,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-db.md", "auth": { "Project": [] } @@ -16624,7 +16593,6 @@ "cookies": false, "type": "", "demo": "health\/get-pub-sub.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-pubsub.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16635,6 +16603,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-pubsub.md", "auth": { "Project": [] } @@ -16675,7 +16644,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-builds.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-builds.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16686,6 +16654,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-builds.md", "auth": { "Project": [] } @@ -16739,7 +16708,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-certificates.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-certificates.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16750,6 +16718,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-certificates.md", "auth": { "Project": [] } @@ -16803,7 +16772,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-databases.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-databases.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16814,6 +16782,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-databases.md", "auth": { "Project": [] } @@ -16878,7 +16847,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-deletes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-deletes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16889,6 +16857,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-deletes.md", "auth": { "Project": [] } @@ -16942,7 +16911,6 @@ "cookies": false, "type": "", "demo": "health\/get-failed-jobs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-failed-queue-jobs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16953,6 +16921,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-failed-queue-jobs.md", "auth": { "Project": [] } @@ -17032,7 +17001,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-functions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-functions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17043,6 +17011,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-functions.md", "auth": { "Project": [] } @@ -17096,7 +17065,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17107,6 +17075,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-logs.md", "auth": { "Project": [] } @@ -17160,7 +17129,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-mails.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-mails.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17171,6 +17139,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-mails.md", "auth": { "Project": [] } @@ -17224,7 +17193,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-messaging.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-messaging.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17235,6 +17203,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-messaging.md", "auth": { "Project": [] } @@ -17288,7 +17257,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-migrations.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-migrations.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17299,6 +17267,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-migrations.md", "auth": { "Project": [] } @@ -17352,7 +17321,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-stats-resources.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-stats-resources.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17363,6 +17331,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-stats-resources.md", "auth": { "Project": [] } @@ -17416,7 +17385,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-stats-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17427,6 +17395,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-stats-usage.md", "auth": { "Project": [] } @@ -17480,7 +17449,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-webhooks.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-webhooks.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17491,6 +17459,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-webhooks.md", "auth": { "Project": [] } @@ -17544,7 +17513,6 @@ "cookies": false, "type": "", "demo": "health\/get-storage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17555,6 +17523,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage.md", "auth": { "Project": [] } @@ -17595,7 +17564,6 @@ "cookies": false, "type": "", "demo": "health\/get-storage-local.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage-local.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17606,6 +17574,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage-local.md", "auth": { "Project": [] } @@ -17646,7 +17615,6 @@ "cookies": false, "type": "", "demo": "health\/get-time.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-time.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17657,6 +17625,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-time.md", "auth": { "Project": [] } @@ -17697,7 +17666,6 @@ "cookies": false, "type": "", "demo": "locale\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/get-locale.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17710,6 +17678,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/get-locale.md", "auth": { "Project": [] } @@ -17751,7 +17720,6 @@ "cookies": false, "type": "", "demo": "locale\/list-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-locale-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17764,6 +17732,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-locale-codes.md", "auth": { "Project": [] } @@ -17805,7 +17774,6 @@ "cookies": false, "type": "", "demo": "locale\/list-continents.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-continents.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17818,6 +17786,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-continents.md", "auth": { "Project": [] } @@ -17859,7 +17828,6 @@ "cookies": false, "type": "", "demo": "locale\/list-countries.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17872,6 +17840,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries.md", "auth": { "Project": [] } @@ -17913,7 +17882,6 @@ "cookies": false, "type": "", "demo": "locale\/list-countries-eu.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-eu.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17926,6 +17894,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-eu.md", "auth": { "Project": [] } @@ -17967,7 +17936,6 @@ "cookies": false, "type": "", "demo": "locale\/list-countries-phones.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-phones.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17980,6 +17948,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-phones.md", "auth": { "Project": [] } @@ -18021,7 +17990,6 @@ "cookies": false, "type": "", "demo": "locale\/list-currencies.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-currencies.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18034,6 +18002,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-currencies.md", "auth": { "Project": [] } @@ -18075,7 +18044,6 @@ "cookies": false, "type": "", "demo": "locale\/list-languages.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-languages.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18088,6 +18056,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-languages.md", "auth": { "Project": [] } @@ -18129,7 +18098,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-messages.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-messages.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18140,6 +18108,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-messages.md", "auth": { "Project": [] } @@ -18217,7 +18186,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-email.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-email.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18228,6 +18196,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-email.md", "auth": { "Project": [] } @@ -18363,7 +18332,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-email.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-email.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18374,6 +18342,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-email.md", "auth": { "Project": [] } @@ -18521,7 +18490,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-push.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-push.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18532,6 +18500,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-push.md", "auth": { "Project": [] } @@ -18698,7 +18667,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-push.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-push.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18709,6 +18677,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-push.md", "auth": { "Project": [] } @@ -18895,7 +18864,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-sms.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-sms.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18906,6 +18874,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-sms.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.createSMS" @@ -19076,7 +19045,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-sms.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-sms.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19087,6 +19055,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-sms.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.updateSMS" @@ -19263,7 +19232,6 @@ "cookies": false, "type": "", "demo": "messaging\/get-message.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-message.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19274,6 +19242,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-message.md", "auth": { "Project": [] } @@ -19317,7 +19286,6 @@ "cookies": false, "type": "", "demo": "messaging\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-message.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19328,6 +19296,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-message.md", "auth": { "Project": [] } @@ -19380,7 +19349,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-message-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-message-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19391,6 +19359,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-message-logs.md", "auth": { "Project": [] } @@ -19467,7 +19436,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-targets.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-message-targets.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19478,6 +19446,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-message-targets.md", "auth": { "Project": [] } @@ -19554,7 +19523,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-providers.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-providers.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19565,6 +19533,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-providers.md", "auth": { "Project": [] } @@ -19642,7 +19611,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-apns-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-apns-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19653,6 +19621,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-apns-provider.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.createAPNSProvider" @@ -19821,7 +19790,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-apns-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-apns-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19832,6 +19800,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-apns-provider.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.updateAPNSProvider" @@ -20002,7 +19971,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-fcm-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-fcm-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20013,6 +19981,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-fcm-provider.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.createFCMProvider" @@ -20154,7 +20123,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-fcm-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-fcm-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20165,6 +20133,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-fcm-provider.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.updateFCMProvider" @@ -20307,7 +20276,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-mailgun-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-mailgun-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20318,6 +20286,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-mailgun-provider.md", "auth": { "Project": [] } @@ -20425,7 +20394,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-mailgun-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-mailgun-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20436,6 +20404,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-mailgun-provider.md", "auth": { "Project": [] } @@ -20546,7 +20515,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-msg-91-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-msg91-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20557,6 +20525,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-msg91-provider.md", "auth": { "Project": [] } @@ -20643,7 +20612,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-msg-91-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-msg91-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20654,6 +20622,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-msg91-provider.md", "auth": { "Project": [] } @@ -20743,7 +20712,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-resend-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-resend-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20754,6 +20722,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-resend-provider.md", "auth": { "Project": [] } @@ -20850,7 +20819,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-resend-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-resend-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20861,6 +20829,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-resend-provider.md", "auth": { "Project": [] } @@ -20960,7 +20929,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-sendgrid-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-sendgrid-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20971,6 +20939,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-sendgrid-provider.md", "auth": { "Project": [] } @@ -21067,7 +21036,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-sendgrid-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-sendgrid-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21078,6 +21046,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-sendgrid-provider.md", "auth": { "Project": [] } @@ -21177,7 +21146,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-smtp-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-smtp-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21188,6 +21156,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-smtp-provider.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.createSMTPProvider" @@ -21408,7 +21377,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-smtp-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-smtp-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21419,6 +21387,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-smtp-provider.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.updateSMTPProvider" @@ -21639,7 +21608,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-telesign-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-telesign-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21650,6 +21618,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-telesign-provider.md", "auth": { "Project": [] } @@ -21736,7 +21705,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-telesign-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-telesign-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21747,6 +21715,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-telesign-provider.md", "auth": { "Project": [] } @@ -21836,7 +21805,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-textmagic-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-textmagic-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21847,6 +21815,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-textmagic-provider.md", "auth": { "Project": [] } @@ -21933,7 +21902,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-textmagic-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-textmagic-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21944,6 +21912,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-textmagic-provider.md", "auth": { "Project": [] } @@ -22033,7 +22002,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-twilio-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-twilio-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22044,6 +22012,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-twilio-provider.md", "auth": { "Project": [] } @@ -22130,7 +22099,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-twilio-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-twilio-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22141,6 +22109,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-twilio-provider.md", "auth": { "Project": [] } @@ -22230,7 +22199,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-vonage-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-vonage-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22241,6 +22209,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-vonage-provider.md", "auth": { "Project": [] } @@ -22327,7 +22296,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-vonage-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-vonage-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22338,6 +22306,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-vonage-provider.md", "auth": { "Project": [] } @@ -22427,7 +22396,6 @@ "cookies": false, "type": "", "demo": "messaging\/get-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22438,6 +22406,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-provider.md", "auth": { "Project": [] } @@ -22481,7 +22450,6 @@ "cookies": false, "type": "", "demo": "messaging\/delete-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22492,6 +22460,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-provider.md", "auth": { "Project": [] } @@ -22544,7 +22513,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-provider-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-provider-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22555,6 +22523,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-provider-logs.md", "auth": { "Project": [] } @@ -22631,7 +22600,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-subscriber-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-subscriber-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22642,6 +22610,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-subscriber-logs.md", "auth": { "Project": [] } @@ -22718,7 +22687,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-topics.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-topics.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22729,6 +22697,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-topics.md", "auth": { "Project": [] } @@ -22804,7 +22773,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-topic.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-topic.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22815,6 +22783,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-topic.md", "auth": { "Project": [] } @@ -22888,7 +22857,6 @@ "cookies": false, "type": "", "demo": "messaging\/get-topic.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-topic.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22899,6 +22867,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-topic.md", "auth": { "Project": [] } @@ -22949,7 +22918,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-topic.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-topic.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22960,6 +22928,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-topic.md", "auth": { "Project": [] } @@ -23029,7 +22998,6 @@ "cookies": false, "type": "", "demo": "messaging\/delete-topic.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-topic.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23040,6 +23008,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-topic.md", "auth": { "Project": [] } @@ -23092,7 +23061,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-topic-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-topic-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23103,6 +23071,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-topic-logs.md", "auth": { "Project": [] } @@ -23179,7 +23148,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-subscribers.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-subscribers.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23190,6 +23158,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-subscribers.md", "auth": { "Project": [] } @@ -23275,7 +23244,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-subscriber.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-subscriber.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23288,6 +23256,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-subscriber.md", "auth": { "Project": [] } @@ -23366,7 +23335,6 @@ "cookies": false, "type": "", "demo": "messaging\/get-subscriber.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-subscriber.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23377,6 +23345,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-subscriber.md", "auth": { "Project": [] } @@ -23430,7 +23399,6 @@ "cookies": false, "type": "", "demo": "messaging\/delete-subscriber.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-subscriber.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23443,6 +23411,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-subscriber.md", "auth": { "Project": [] } @@ -23506,7 +23475,6 @@ "cookies": false, "type": "", "demo": "migrations\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/list-migrations.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23516,6 +23484,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/list-migrations.md", "auth": { "Project": [] } @@ -23592,7 +23561,6 @@ "cookies": false, "type": "", "demo": "migrations\/create-appwrite-migration.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-appwrite.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23602,6 +23570,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-appwrite.md", "auth": { "Project": [] } @@ -23701,7 +23670,6 @@ "cookies": false, "type": "", "demo": "migrations\/get-appwrite-report.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-appwrite-report.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23711,6 +23679,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-appwrite-report.md", "auth": { "Project": [] } @@ -23815,7 +23784,6 @@ "cookies": false, "type": "", "demo": "migrations\/create-csv-export.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-csv-export.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23825,6 +23793,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-csv-export.md", "auth": { "Project": [] } @@ -23930,7 +23899,6 @@ "cookies": false, "type": "", "demo": "migrations\/create-csv-import.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-csv-import.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23940,6 +23908,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-csv-import.md", "auth": { "Project": [] } @@ -24015,7 +23984,6 @@ "cookies": false, "type": "", "demo": "migrations\/create-firebase-migration.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-firebase.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24025,6 +23993,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-firebase.md", "auth": { "Project": [] } @@ -24106,7 +24075,6 @@ "cookies": false, "type": "", "demo": "migrations\/get-firebase-report.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-firebase-report.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24116,6 +24084,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-firebase-report.md", "auth": { "Project": [] } @@ -24193,7 +24162,6 @@ "cookies": false, "type": "", "demo": "migrations\/create-n-host-migration.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-nhost.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24203,6 +24171,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-nhost.md", "auth": { "Project": [] } @@ -24320,7 +24289,6 @@ "cookies": false, "type": "", "demo": "migrations\/get-n-host-report.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-nhost-report.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24330,6 +24298,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-nhost-report.md", "auth": { "Project": [] } @@ -24469,7 +24438,6 @@ "cookies": false, "type": "", "demo": "migrations\/create-supabase-migration.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-supabase.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24479,6 +24447,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-supabase.md", "auth": { "Project": [] } @@ -24590,7 +24559,6 @@ "cookies": false, "type": "", "demo": "migrations\/get-supabase-report.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-supabase-report.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24600,6 +24568,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-supabase-report.md", "auth": { "Project": [] } @@ -24730,7 +24699,6 @@ "cookies": false, "type": "", "demo": "migrations\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/get-migration.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24740,6 +24708,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/get-migration.md", "auth": { "Project": [] } @@ -24789,7 +24758,6 @@ "cookies": false, "type": "", "demo": "migrations\/retry.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/retry-migration.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24799,6 +24767,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/retry-migration.md", "auth": { "Project": [] } @@ -24841,7 +24810,6 @@ "cookies": false, "type": "", "demo": "migrations\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/delete-migration.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24851,6 +24819,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/delete-migration.md", "auth": { "Project": [] } @@ -24902,7 +24871,6 @@ "cookies": false, "type": "", "demo": "project\/get-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/project\/get-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24912,6 +24880,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/project\/get-usage.md", "auth": { "Project": [] } @@ -24991,7 +24960,6 @@ "cookies": false, "type": "", "demo": "project\/list-variables.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/project\/list-variables.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25001,6 +24969,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/project\/list-variables.md", "auth": { "Project": [] } @@ -25038,7 +25007,6 @@ "cookies": false, "type": "", "demo": "project\/create-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/project\/create-variable.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25048,6 +25016,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/project\/create-variable.md", "auth": { "Project": [] } @@ -25117,7 +25086,6 @@ "cookies": false, "type": "", "demo": "project\/get-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/project\/get-variable.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25127,6 +25095,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/project\/get-variable.md", "auth": { "Project": [] } @@ -25176,7 +25145,6 @@ "cookies": false, "type": "", "demo": "project\/update-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/project\/update-variable.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25186,6 +25154,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/project\/update-variable.md", "auth": { "Project": [] } @@ -25259,7 +25228,6 @@ "cookies": false, "type": "", "demo": "project\/delete-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/project\/delete-variable.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25269,6 +25237,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/project\/delete-variable.md", "auth": { "Project": [] } @@ -25320,7 +25289,6 @@ "cookies": false, "type": "", "demo": "projects\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all projects. You can use the query params to filter your results. ", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25404,7 +25372,6 @@ "cookies": false, "type": "", "demo": "projects\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25414,6 +25381,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create.md", "auth": { "Project": [] } @@ -25539,7 +25507,6 @@ "cookies": false, "type": "", "demo": "projects\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25549,6 +25516,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get.md", "auth": { "Project": [] } @@ -25598,7 +25566,6 @@ "cookies": false, "type": "", "demo": "projects\/update.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25608,6 +25575,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update.md", "auth": { "Project": [] } @@ -25714,7 +25682,6 @@ "cookies": false, "type": "", "demo": "projects\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/delete.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25724,6 +25691,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/delete.md", "auth": { "Project": [] } @@ -25775,7 +25743,6 @@ "cookies": false, "type": "", "demo": "projects\/update-api-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-api-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25785,6 +25752,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-api-status.md", "deprecated": { "since": "1.8.0", "replaceWith": "projects.updateAPIStatus" @@ -25932,7 +25900,6 @@ "cookies": false, "type": "", "demo": "projects\/update-api-status-all.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-api-status-all.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25942,6 +25909,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-api-status-all.md", "deprecated": { "since": "1.8.0", "replaceWith": "projects.updateAPIStatusAll" @@ -26072,7 +26040,6 @@ "cookies": false, "type": "", "demo": "projects\/update-auth-duration.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-auth-duration.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26082,6 +26049,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-auth-duration.md", "auth": { "Project": [] } @@ -26152,7 +26120,6 @@ "cookies": false, "type": "", "demo": "projects\/update-auth-limit.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-auth-limit.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26162,6 +26129,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-auth-limit.md", "auth": { "Project": [] } @@ -26232,7 +26200,6 @@ "cookies": false, "type": "", "demo": "projects\/update-auth-sessions-limit.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-auth-sessions-limit.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26242,6 +26209,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-auth-sessions-limit.md", "auth": { "Project": [] } @@ -26312,7 +26280,6 @@ "cookies": false, "type": "", "demo": "projects\/update-memberships-privacy.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-memberships-privacy.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26322,6 +26289,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-memberships-privacy.md", "auth": { "Project": [] } @@ -26404,7 +26372,6 @@ "cookies": false, "type": "", "demo": "projects\/update-mock-numbers.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-mock-numbers.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26414,6 +26381,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-mock-numbers.md", "auth": { "Project": [] } @@ -26487,7 +26455,6 @@ "cookies": false, "type": "", "demo": "projects\/update-auth-password-dictionary.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-auth-password-dictionary.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26497,6 +26464,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-auth-password-dictionary.md", "auth": { "Project": [] } @@ -26567,7 +26535,6 @@ "cookies": false, "type": "", "demo": "projects\/update-auth-password-history.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-auth-password-history.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26577,6 +26544,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-auth-password-history.md", "auth": { "Project": [] } @@ -26647,7 +26615,6 @@ "cookies": false, "type": "", "demo": "projects\/update-personal-data-check.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-personal-data-check.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26657,6 +26624,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-personal-data-check.md", "auth": { "Project": [] } @@ -26727,7 +26695,6 @@ "cookies": false, "type": "", "demo": "projects\/update-session-alerts.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-session-alerts.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26737,6 +26704,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-session-alerts.md", "auth": { "Project": [] } @@ -26807,7 +26775,6 @@ "cookies": false, "type": "", "demo": "projects\/update-session-invalidation.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-session-invalidation.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26817,6 +26784,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-session-invalidation.md", "auth": { "Project": [] } @@ -26887,7 +26855,6 @@ "cookies": false, "type": "", "demo": "projects\/update-auth-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-auth-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26897,6 +26864,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-auth-status.md", "auth": { "Project": [] } @@ -26988,7 +26956,6 @@ "cookies": false, "type": "", "demo": "projects\/list-dev-keys.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterList all the project\\'s dev keys. Dev keys are project specific and allow you to bypass rate limits and get better error logging during development.'", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27060,7 +27027,6 @@ "cookies": false, "type": "", "demo": "projects\/create-dev-key.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new project dev key. Dev keys are project specific and allow you to bypass rate limits and get better error logging during development. Strictly meant for development purposes only.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27146,7 +27112,6 @@ "cookies": false, "type": "", "demo": "projects\/get-dev-key.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a project\\'s dev key by its unique ID. Dev keys are project specific and allow you to bypass rate limits and get better error logging during development.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27215,7 +27180,6 @@ "cookies": false, "type": "", "demo": "projects\/update-dev-key.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate a project\\'s dev key by its unique ID. Use this endpoint to update a project\\'s dev key name or expiration time.'", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27302,7 +27266,6 @@ "cookies": false, "type": "", "demo": "projects\/delete-dev-key.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a project\\'s dev key by its unique ID. Once deleted, the key will no longer allow bypassing of rate limits and better logging of errors.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27373,7 +27336,6 @@ "cookies": false, "type": "", "demo": "projects\/create-jwt.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create-jwt.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27383,6 +27345,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create-jwt.md", "auth": { "Project": [] } @@ -27520,7 +27483,6 @@ "cookies": false, "type": "", "demo": "projects\/list-keys.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/list-keys.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27530,6 +27492,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/list-keys.md", "auth": { "Project": [] } @@ -27590,7 +27553,6 @@ "cookies": false, "type": "", "demo": "projects\/create-key.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create-key.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27600,6 +27562,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create-key.md", "auth": { "Project": [] } @@ -27745,7 +27708,6 @@ "cookies": false, "type": "", "demo": "projects\/get-key.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get-key.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27755,6 +27717,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get-key.md", "auth": { "Project": [] } @@ -27814,7 +27777,6 @@ "cookies": false, "type": "", "demo": "projects\/update-key.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-key.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27824,6 +27786,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-key.md", "auth": { "Project": [] } @@ -27970,7 +27933,6 @@ "cookies": false, "type": "", "demo": "projects\/delete-key.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/delete-key.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27980,6 +27942,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/delete-key.md", "auth": { "Project": [] } @@ -28041,7 +28004,6 @@ "cookies": false, "type": "", "demo": "projects\/update-o-auth-2.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-oauth2.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28051,6 +28013,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-oauth2.md", "auth": { "Project": [] } @@ -28183,7 +28146,6 @@ "cookies": false, "type": "", "demo": "projects\/list-platforms.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/list-platforms.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28193,6 +28155,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/list-platforms.md", "auth": { "Project": [] } @@ -28253,7 +28216,6 @@ "cookies": false, "type": "", "demo": "projects\/create-platform.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create-platform.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28263,6 +28225,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create-platform.md", "auth": { "Project": [] } @@ -28373,7 +28336,6 @@ "cookies": false, "type": "", "demo": "projects\/get-platform.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get-platform.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28383,6 +28345,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get-platform.md", "auth": { "Project": [] } @@ -28442,7 +28405,6 @@ "cookies": false, "type": "", "demo": "projects\/update-platform.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-platform.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28452,6 +28414,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-platform.md", "auth": { "Project": [] } @@ -28538,7 +28501,6 @@ "cookies": false, "type": "", "demo": "projects\/delete-platform.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/delete-platform.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28548,6 +28510,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/delete-platform.md", "auth": { "Project": [] } @@ -28609,7 +28572,6 @@ "cookies": false, "type": "", "demo": "projects\/update-service-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-service-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28619,6 +28581,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-service-status.md", "auth": { "Project": [] } @@ -28712,7 +28675,6 @@ "cookies": false, "type": "", "demo": "projects\/update-service-status-all.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-service-status-all.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28722,6 +28684,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-service-status-all.md", "auth": { "Project": [] } @@ -28792,7 +28755,6 @@ "cookies": false, "type": "", "demo": "projects\/update-smtp.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-smtp.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28802,6 +28764,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-smtp.md", "deprecated": { "since": "1.8.0", "replaceWith": "projects.updateSMTP" @@ -28987,7 +28950,6 @@ "cookies": false, "type": "", "demo": "projects\/create-smtp-test.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create-smtp-test.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28997,6 +28959,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create-smtp-test.md", "deprecated": { "since": "1.8.0", "replaceWith": "projects.createSMTPTest" @@ -29199,7 +29162,6 @@ "cookies": false, "type": "", "demo": "projects\/update-team.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-team.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -29209,6 +29171,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-team.md", "auth": { "Project": [] } @@ -29279,7 +29242,6 @@ "cookies": false, "type": "", "demo": "projects\/get-email-template.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get-email-template.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -29289,6 +29251,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get-email-template.md", "auth": { "Project": [] } @@ -29504,7 +29467,6 @@ "cookies": false, "type": "", "demo": "projects\/update-email-template.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-email-template.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -29514,6 +29476,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-email-template.md", "auth": { "Project": [] } @@ -29769,7 +29732,6 @@ "cookies": false, "type": "", "demo": "projects\/delete-email-template.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/delete-email-template.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -29779,6 +29741,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/delete-email-template.md", "auth": { "Project": [] } @@ -29996,7 +29959,6 @@ "cookies": false, "type": "", "demo": "projects\/get-sms-template.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get-sms-template.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30006,6 +29968,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get-sms-template.md", "deprecated": { "since": "1.8.0", "replaceWith": "projects.getSMSTemplate" @@ -30282,7 +30245,6 @@ "cookies": false, "type": "", "demo": "projects\/update-sms-template.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-sms-template.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30292,6 +30254,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-sms-template.md", "deprecated": { "since": "1.8.0", "replaceWith": "projects.updateSMSTemplate" @@ -30591,7 +30554,6 @@ "cookies": false, "type": "", "demo": "projects\/delete-sms-template.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/delete-sms-template.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30601,6 +30563,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/delete-sms-template.md", "deprecated": { "since": "1.8.0", "replaceWith": "projects.deleteSMSTemplate" @@ -30879,7 +30842,6 @@ "cookies": false, "type": "", "demo": "projects\/list-webhooks.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/list-webhooks.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30889,6 +30851,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/list-webhooks.md", "auth": { "Project": [] } @@ -30949,7 +30912,6 @@ "cookies": false, "type": "", "demo": "projects\/create-webhook.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create-webhook.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30959,6 +30921,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create-webhook.md", "auth": { "Project": [] } @@ -31065,7 +31028,6 @@ "cookies": false, "type": "", "demo": "projects\/get-webhook.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get-webhook.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -31075,6 +31037,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get-webhook.md", "auth": { "Project": [] } @@ -31134,7 +31097,6 @@ "cookies": false, "type": "", "demo": "projects\/update-webhook.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-webhook.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -31144,6 +31106,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-webhook.md", "auth": { "Project": [] } @@ -31251,7 +31214,6 @@ "cookies": false, "type": "", "demo": "projects\/delete-webhook.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/delete-webhook.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -31261,6 +31223,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/delete-webhook.md", "auth": { "Project": [] } @@ -31322,7 +31285,6 @@ "cookies": false, "type": "", "demo": "projects\/update-webhook-signature.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-webhook-signature.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -31332,6 +31294,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-webhook-signature.md", "auth": { "Project": [] } @@ -31393,7 +31356,6 @@ "cookies": false, "type": "", "demo": "proxy\/list-rules.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all the proxy rules. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -31479,7 +31441,6 @@ "cookies": false, "type": "", "demo": "proxy\/create-api-rule.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new proxy rule for serving Appwrite's API on custom domain.", "rate-limit": 10, "rate-time": 60, "rate-key": "userId:{userId}, url:{url}", @@ -31547,7 +31508,6 @@ "cookies": false, "type": "", "demo": "proxy\/create-function-rule.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new proxy rule for executing Appwrite Function on custom domain.", "rate-limit": 10, "rate-time": 60, "rate-key": "userId:{userId}, url:{url}", @@ -31626,7 +31586,6 @@ "cookies": false, "type": "", "demo": "proxy\/create-redirect-rule.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new proxy rule for to redirect from custom domain to another domain.", "rate-limit": 10, "rate-time": 60, "rate-key": "userId:{userId}, url:{url}", @@ -31740,7 +31699,6 @@ "cookies": false, "type": "", "demo": "proxy\/create-site-rule.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new proxy rule for serving Appwrite Site on custom domain.", "rate-limit": 10, "rate-time": 60, "rate-key": "userId:{userId}, url:{url}", @@ -31819,7 +31777,6 @@ "cookies": false, "type": "", "demo": "proxy\/get-rule.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a proxy rule by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -31871,7 +31828,6 @@ "cookies": false, "type": "", "demo": "proxy\/delete-rule.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a proxy rule by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -31932,7 +31888,6 @@ "cookies": false, "type": "", "demo": "proxy\/update-rule-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterRetry getting verification process of a proxy rule. This endpoint triggers domain verification by checking DNS records (CNAME) against the configured target domain. If verification is successful, a TLS certificate will be automatically provisioned for the domain.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -31993,7 +31948,6 @@ "cookies": false, "type": "", "demo": "sites\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all the project's sites. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32079,7 +32033,6 @@ "cookies": false, "type": "", "demo": "sites\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new site.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32333,7 +32286,6 @@ "cookies": false, "type": "", "demo": "sites\/list-frameworks.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all frameworks that are currently available on the server instance.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32384,7 +32336,6 @@ "cookies": false, "type": "", "demo": "sites\/list-specifications.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterList allowed site specifications for this instance.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32435,7 +32386,6 @@ "cookies": false, "type": "", "demo": "sites\/list-templates.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterList available site templates. You can use template details in [createSite](\/docs\/references\/cloud\/server-nodejs\/sites#create) method.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32565,7 +32515,6 @@ "cookies": false, "type": "", "demo": "sites\/get-template.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a site template using ID. You can use template details in [createSite](\/docs\/references\/cloud\/server-nodejs\/sites#create) method.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32626,7 +32575,6 @@ "cookies": false, "type": "", "demo": "sites\/list-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet usage metrics and statistics for all sites in the project. View statistics including total deployments, builds, logs, storage usage, and compute time. The response includes both current totals and historical data for each metric. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, defaults to 30 days.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32699,7 +32647,6 @@ "cookies": false, "type": "", "demo": "sites\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a site by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32760,7 +32707,6 @@ "cookies": false, "type": "", "demo": "sites\/update.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate site by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33010,7 +32956,6 @@ "cookies": false, "type": "", "demo": "sites\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a site by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33073,7 +33018,6 @@ "cookies": false, "type": "", "demo": "sites\/update-site-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate the site active deployment. Use this endpoint to switch the code deployment that should be used when visitor opens your site.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33155,7 +33099,6 @@ "cookies": false, "type": "", "demo": "sites\/list-deployments.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all the site's code deployments. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33251,7 +33194,6 @@ "cookies": false, "type": "upload", "demo": "sites\/create-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new site code deployment. Use this endpoint to upload a new version of your site code. To activate your newly uploaded code, you'll need to update the site's deployment to use your new deployment ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33357,7 +33299,6 @@ "cookies": false, "type": "", "demo": "sites\/create-duplicate-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new build for an existing site deployment. This endpoint allows you to rebuild a deployment with the updated site configuration, including its commands and output directory if they have been modified. The build process will be queued and executed asynchronously. The original deployment's code will be preserved and used for the new build.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33439,7 +33380,6 @@ "cookies": false, "type": "", "demo": "sites\/create-template-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a deployment based on a template.\n\nUse this endpoint with combination of [listTemplates](https:\/\/appwrite.io\/docs\/products\/sites\/templates) to find the template details.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33557,7 +33497,6 @@ "cookies": false, "type": "", "demo": "sites\/create-vcs-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a deployment when a site is connected to VCS.\n\nThis endpoint lets you create deployment from a branch, commit, or a tag.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33657,7 +33596,6 @@ "cookies": false, "type": "", "demo": "sites\/get-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a site deployment by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33721,7 +33659,6 @@ "cookies": false, "type": "", "demo": "sites\/delete-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a site deployment by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33787,7 +33724,6 @@ "cookies": false, "type": "location", "demo": "sites\/get-deployment-download.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a site deployment content by its unique ID. The endpoint response return with a 'Content-Disposition: attachment' header that tells the browser to start downloading the file to user downloads directory.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33879,7 +33815,6 @@ "cookies": false, "type": "", "demo": "sites\/update-deployment-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCancel an ongoing site deployment build. If the build is already in progress, it will be stopped and marked as canceled. If the build hasn't started yet, it will be marked as canceled without executing. You cannot cancel builds that have already completed (status 'ready') or failed. The response includes the final build status and details.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33952,7 +33887,6 @@ "cookies": false, "type": "", "demo": "sites\/list-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all site logs. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34039,7 +33973,6 @@ "cookies": false, "type": "", "demo": "sites\/get-log.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a site request log by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34103,7 +34036,6 @@ "cookies": false, "type": "", "demo": "sites\/delete-log.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a site log by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34176,7 +34108,6 @@ "cookies": false, "type": "", "demo": "sites\/get-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet usage metrics and statistics for a for a specific site. View statistics including total deployments, builds, executions, storage usage, and compute time. The response includes both current totals and historical data for each metric. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, defaults to 30 days.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34259,7 +34190,6 @@ "cookies": false, "type": "", "demo": "sites\/list-variables.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all variables of a specific site.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34320,7 +34250,6 @@ "cookies": false, "type": "", "demo": "sites\/create-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new site variable. These variables can be accessed during build and runtime (server-side rendering) as environment variables.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34413,7 +34342,6 @@ "cookies": false, "type": "", "demo": "sites\/get-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a variable by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34484,7 +34412,6 @@ "cookies": false, "type": "", "demo": "sites\/update-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate variable by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34579,7 +34506,6 @@ "cookies": false, "type": "", "demo": "sites\/delete-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a variable by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34652,7 +34578,6 @@ "cookies": false, "type": "", "demo": "storage\/list-buckets.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-buckets.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34663,6 +34588,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-buckets.md", "auth": { "Project": [] } @@ -34738,7 +34664,6 @@ "cookies": false, "type": "", "demo": "storage\/create-bucket.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-bucket.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34749,6 +34674,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-bucket.md", "auth": { "Project": [] } @@ -34873,7 +34799,6 @@ "cookies": false, "type": "", "demo": "storage\/get-bucket.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-bucket.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34884,6 +34809,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-bucket.md", "auth": { "Project": [] } @@ -34934,7 +34860,6 @@ "cookies": false, "type": "", "demo": "storage\/update-bucket.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/update-bucket.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34945,6 +34870,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/update-bucket.md", "auth": { "Project": [] } @@ -35066,7 +34992,6 @@ "cookies": false, "type": "", "demo": "storage\/delete-bucket.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/delete-bucket.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35077,6 +35002,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/delete-bucket.md", "auth": { "Project": [] } @@ -35129,7 +35055,6 @@ "cookies": false, "type": "", "demo": "storage\/list-files.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-files.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35142,6 +35067,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-files.md", "auth": { "Project": [] } @@ -35228,7 +35154,6 @@ "cookies": false, "type": "upload", "demo": "storage\/create-file.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-file.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId},chunkId:{chunkId}", @@ -35241,6 +35166,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-file.md", "auth": { "Project": [] } @@ -35329,7 +35255,6 @@ "cookies": false, "type": "", "demo": "storage\/get-file.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35342,6 +35267,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file.md", "auth": { "Project": [] } @@ -35403,7 +35329,6 @@ "cookies": false, "type": "", "demo": "storage\/update-file.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/update-file.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -35416,6 +35341,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/update-file.md", "auth": { "Project": [] } @@ -35496,7 +35422,6 @@ "cookies": false, "type": "", "demo": "storage\/delete-file.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/delete-file.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -35509,6 +35434,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/delete-file.md", "auth": { "Project": [] } @@ -35565,7 +35491,6 @@ "cookies": false, "type": "location", "demo": "storage\/get-file-download.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-download.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35578,6 +35503,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-download.md", "auth": { "Project": [] } @@ -35645,7 +35571,6 @@ "cookies": false, "type": "location", "demo": "storage\/get-file-preview.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-preview.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35658,6 +35583,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-preview.md", "auth": { "Project": [] } @@ -35875,7 +35801,6 @@ "cookies": false, "type": "location", "demo": "storage\/get-file-view.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-view.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35888,6 +35813,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-view.md", "auth": { "Project": [] } @@ -35962,7 +35888,6 @@ "cookies": false, "type": "", "demo": "storage\/get-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35972,6 +35897,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-usage.md", "auth": { "Project": [] } @@ -36035,7 +35961,6 @@ "cookies": false, "type": "", "demo": "storage\/get-bucket-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-bucket-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36045,6 +35970,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-bucket-usage.md", "auth": { "Project": [] } @@ -36118,7 +36044,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36129,6 +36054,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list.md", "auth": { "Project": [] } @@ -36204,7 +36130,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36215,6 +36140,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create.md", "auth": { "Project": [] } @@ -36285,7 +36211,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-transactions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-transactions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36301,6 +36226,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-transactions.md", "auth": { "Project": [] } @@ -36355,7 +36281,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36371,6 +36296,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-transaction.md", "auth": { "Project": [] } @@ -36428,7 +36354,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36444,6 +36369,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-transaction.md", "auth": { "Project": [] } @@ -36495,7 +36421,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36511,6 +36436,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-transaction.md", "auth": { "Project": [] } @@ -36576,7 +36502,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36592,6 +36517,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-transaction.md", "auth": { "Project": [] } @@ -36645,7 +36571,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-operations.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-operations.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36661,6 +36586,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-operations.md", "auth": { "Project": [] } @@ -36733,7 +36659,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36746,6 +36671,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-usage.md", "methods": [ { "name": "listUsage", @@ -36832,7 +36758,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36843,6 +36768,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get.md", "auth": { "Project": [] } @@ -36893,7 +36819,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36904,6 +36829,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update.md", "auth": { "Project": [] } @@ -36971,7 +36897,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36982,6 +36907,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete.md", "auth": { "Project": [] } @@ -37034,7 +36960,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-tables.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-tables.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37048,6 +36973,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-tables.md", "auth": { "Project": [] } @@ -37133,7 +37059,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-table.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-table.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37147,6 +37072,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-table.md", "auth": { "Project": [] } @@ -37259,7 +37185,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-table.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-table.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37273,6 +37198,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-table.md", "auth": { "Project": [] } @@ -37333,7 +37259,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-table.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-table.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37347,6 +37272,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-table.md", "auth": { "Project": [] } @@ -37438,7 +37364,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-table.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-table.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37452,6 +37377,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-table.md", "auth": { "Project": [] } @@ -37514,7 +37440,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-columns.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-columns.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37528,6 +37453,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-columns.md", "auth": { "Project": [] } @@ -37614,7 +37540,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-boolean-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-boolean-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37628,6 +37553,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-boolean-column.md", "auth": { "Project": [] } @@ -37726,7 +37652,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-boolean-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-boolean-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37740,6 +37665,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-boolean-column.md", "auth": { "Project": [] } @@ -37843,7 +37769,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-datetime-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-datetime-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37857,6 +37782,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-datetime-column.md", "auth": { "Project": [] } @@ -37955,7 +37881,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-datetime-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-datetime-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37969,6 +37894,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-datetime-column.md", "auth": { "Project": [] } @@ -38072,7 +37998,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-email-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-email-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -38086,6 +38011,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-email-column.md", "auth": { "Project": [] } @@ -38184,7 +38110,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-email-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-email-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -38198,6 +38123,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-email-column.md", "auth": { "Project": [] } @@ -38301,7 +38227,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-enum-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-enum-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -38315,6 +38240,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-enum-column.md", "auth": { "Project": [] } @@ -38422,7 +38348,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-enum-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-enum-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -38436,6 +38361,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-enum-column.md", "auth": { "Project": [] } @@ -38548,7 +38474,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-float-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-float-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -38562,6 +38487,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-float-column.md", "auth": { "Project": [] } @@ -38672,7 +38598,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-float-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-float-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -38686,6 +38611,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-float-column.md", "auth": { "Project": [] } @@ -38801,7 +38727,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-integer-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-integer-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -38815,6 +38740,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-integer-column.md", "auth": { "Project": [] } @@ -38925,7 +38851,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-integer-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-integer-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -38939,6 +38864,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-integer-column.md", "auth": { "Project": [] } @@ -39054,7 +38980,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-ip-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-ip-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -39068,6 +38993,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-ip-column.md", "auth": { "Project": [] } @@ -39166,7 +39092,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-ip-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-ip-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -39180,6 +39105,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-ip-column.md", "auth": { "Project": [] } @@ -39283,7 +39209,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-line-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-line-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -39297,6 +39222,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-line-column.md", "auth": { "Project": [] } @@ -39397,7 +39323,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-line-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-line-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -39411,6 +39336,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-line-column.md", "auth": { "Project": [] } @@ -39520,7 +39446,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-point-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-point-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -39534,6 +39459,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-point-column.md", "auth": { "Project": [] } @@ -39634,7 +39560,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-point-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-point-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -39648,6 +39573,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-point-column.md", "auth": { "Project": [] } @@ -39757,7 +39683,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-polygon-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-polygon-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -39771,6 +39696,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-polygon-column.md", "auth": { "Project": [] } @@ -39871,7 +39797,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-polygon-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-polygon-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -39885,6 +39810,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-polygon-column.md", "auth": { "Project": [] } @@ -39994,7 +39920,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-relationship-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-relationship-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -40008,6 +39933,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-relationship-column.md", "auth": { "Project": [] } @@ -40132,7 +40058,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-string-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-string-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -40146,6 +40071,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-string-column.md", "auth": { "Project": [] } @@ -40255,7 +40181,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-string-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-string-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -40269,6 +40194,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-string-column.md", "auth": { "Project": [] } @@ -40378,7 +40304,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-url-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-url-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -40392,6 +40317,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-url-column.md", "auth": { "Project": [] } @@ -40490,7 +40416,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-url-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-url-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -40504,6 +40429,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-url-column.md", "auth": { "Project": [] } @@ -40638,7 +40564,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -40652,6 +40577,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-column.md", "auth": { "Project": [] } @@ -40714,7 +40640,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -40728,6 +40653,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-column.md", "auth": { "Project": [] } @@ -40799,7 +40725,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-relationship-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-relationship-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -40813,6 +40738,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-relationship-column.md", "auth": { "Project": [] } @@ -40914,7 +40840,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-indexes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-indexes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -40928,6 +40853,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-indexes.md", "auth": { "Project": [] } @@ -41012,7 +40938,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-index.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -41026,6 +40951,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-index.md", "auth": { "Project": [] } @@ -41152,7 +41078,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-index.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -41166,6 +41091,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-index.md", "auth": { "Project": [] } @@ -41228,7 +41154,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-index.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -41242,6 +41167,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-index.md", "auth": { "Project": [] } @@ -41313,7 +41239,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-table-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-table-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -41326,6 +41251,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-table-logs.md", "auth": { "Project": [] } @@ -41400,7 +41326,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-rows.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-rows.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -41416,6 +41341,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-rows.md", "auth": { "Project": [] } @@ -41511,7 +41437,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-row.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -41527,6 +41452,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-row.md", "methods": [ { "name": "createRow", @@ -41693,7 +41619,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/upsert-rows.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/upsert-rows.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -41707,6 +41632,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/upsert-rows.md", "methods": [ { "name": "upsertRows", @@ -41825,7 +41751,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-rows.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-rows.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -41839,6 +41764,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-rows.md", "auth": { "Project": [] } @@ -41929,7 +41855,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-rows.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-rows.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -41943,6 +41868,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-rows.md", "auth": { "Project": [] } @@ -42030,7 +41956,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-row.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -42046,6 +41971,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-row.md", "auth": { "Project": [] } @@ -42140,7 +42066,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/upsert-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/upsert-row.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -42156,6 +42081,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/upsert-row.md", "methods": [ { "name": "upsertRow", @@ -42290,7 +42216,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-row.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -42306,6 +42231,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-row.md", "auth": { "Project": [] } @@ -42401,7 +42327,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-row.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -42417,6 +42342,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-row.md", "auth": { "Project": [] } @@ -42507,7 +42433,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-row-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-row-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -42520,6 +42445,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-row-logs.md", "auth": { "Project": [] } @@ -42604,7 +42530,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/decrement-row-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/decrement-row-column.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -42620,6 +42545,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/decrement-row-column.md", "auth": { "Project": [] } @@ -42730,7 +42656,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/increment-row-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/increment-row-column.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -42746,6 +42671,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/increment-row-column.md", "auth": { "Project": [] } @@ -42856,7 +42782,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-table-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-table-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -42869,6 +42794,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-table-usage.md", "auth": { "Project": [] } @@ -42952,7 +42878,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-database-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -42965,6 +42890,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-database-usage.md", "methods": [ { "name": "getUsage", @@ -43064,7 +42990,6 @@ "cookies": false, "type": "", "demo": "teams\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-teams.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -43077,6 +43002,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-teams.md", "auth": { "Project": [] } @@ -43153,7 +43079,6 @@ "cookies": false, "type": "", "demo": "teams\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -43166,6 +43091,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team.md", "auth": { "Project": [] } @@ -43240,7 +43166,6 @@ "cookies": false, "type": "", "demo": "teams\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -43253,6 +43178,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team.md", "auth": { "Project": [] } @@ -43304,7 +43230,6 @@ "cookies": false, "type": "", "demo": "teams\/update-name.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-name.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -43317,6 +43242,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-name.md", "auth": { "Project": [] } @@ -43380,7 +43306,6 @@ "cookies": false, "type": "", "demo": "teams\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -43393,6 +43318,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team.md", "auth": { "Project": [] } @@ -43446,7 +43372,6 @@ "cookies": false, "type": "", "demo": "teams\/list-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -43456,6 +43381,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-logs.md", "auth": { "Project": [] } @@ -43531,7 +43457,6 @@ "cookies": false, "type": "", "demo": "teams\/list-memberships.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-team-members.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -43544,6 +43469,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-team-members.md", "auth": { "Project": [] } @@ -43630,7 +43556,6 @@ "cookies": false, "type": "", "demo": "teams\/create-membership.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team-membership.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -43643,6 +43568,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team-membership.md", "auth": { "Project": [] } @@ -43750,7 +43676,6 @@ "cookies": false, "type": "", "demo": "teams\/get-membership.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-member.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -43763,6 +43688,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-member.md", "auth": { "Project": [] } @@ -43824,7 +43750,6 @@ "cookies": false, "type": "", "demo": "teams\/update-membership.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -43837,6 +43762,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership.md", "auth": { "Project": [] } @@ -43920,7 +43846,6 @@ "cookies": false, "type": "", "demo": "teams\/delete-membership.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team-membership.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -43933,6 +43858,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team-membership.md", "auth": { "Project": [] } @@ -43996,7 +43922,6 @@ "cookies": false, "type": "", "demo": "teams\/update-membership-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -44008,6 +43933,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership-status.md", "auth": { "Project": [] } @@ -44095,7 +44021,6 @@ "cookies": false, "type": "", "demo": "teams\/get-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -44107,6 +44032,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-prefs.md", "auth": { "Project": [] } @@ -44157,7 +44083,6 @@ "cookies": false, "type": "", "demo": "teams\/update-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -44169,6 +44094,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-prefs.md", "auth": { "Project": [] } @@ -44240,7 +44166,6 @@ "cookies": false, "type": "", "demo": "tokens\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterList all the tokens created for a specific file or bucket. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -44335,7 +44260,6 @@ "cookies": false, "type": "", "demo": "tokens\/create-file-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new token. A token is linked to a file. Token can be passed as a request URL search parameter.", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -44425,7 +44349,6 @@ "cookies": false, "type": "", "demo": "tokens\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a token by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -44486,7 +44409,6 @@ "cookies": false, "type": "", "demo": "tokens\/update.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate a token by its unique ID. Use this endpoint to update a token's expiry date.", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -44557,7 +44479,6 @@ "cookies": false, "type": "", "demo": "tokens\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a token by its unique ID.", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -44620,7 +44541,6 @@ "cookies": false, "type": "", "demo": "users\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-users.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -44631,6 +44551,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-users.md", "auth": { "Project": [] } @@ -44706,7 +44627,6 @@ "cookies": false, "type": "", "demo": "users\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -44717,6 +44637,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-user.md", "auth": { "Project": [] } @@ -44798,7 +44719,6 @@ "cookies": false, "type": "", "demo": "users\/create-argon-2-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-argon2-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -44809,6 +44729,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-argon2-user.md", "auth": { "Project": [] } @@ -44885,7 +44806,6 @@ "cookies": false, "type": "", "demo": "users\/create-bcrypt-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-bcrypt-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -44896,6 +44816,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-bcrypt-user.md", "auth": { "Project": [] } @@ -44972,7 +44893,6 @@ "cookies": false, "type": "", "demo": "users\/list-identities.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-identities.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -44983,6 +44903,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-identities.md", "auth": { "Project": [] } @@ -45053,7 +44974,6 @@ "cookies": false, "type": "", "demo": "users\/delete-identity.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-identity.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -45064,6 +44984,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-identity.md", "auth": { "Project": [] } @@ -45116,7 +45037,6 @@ "cookies": false, "type": "", "demo": "users\/create-md-5-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-md5-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -45127,6 +45047,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-md5-user.md", "auth": { "Project": [] } @@ -45203,7 +45124,6 @@ "cookies": false, "type": "", "demo": "users\/create-ph-pass-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-phpass-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -45214,6 +45134,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-phpass-user.md", "auth": { "Project": [] } @@ -45290,7 +45211,6 @@ "cookies": false, "type": "", "demo": "users\/create-scrypt-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-scrypt-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -45301,6 +45221,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-scrypt-user.md", "auth": { "Project": [] } @@ -45407,7 +45328,6 @@ "cookies": false, "type": "", "demo": "users\/create-scrypt-modified-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-scrypt-modified-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -45418,6 +45338,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-scrypt-modified-user.md", "auth": { "Project": [] } @@ -45512,7 +45433,6 @@ "cookies": false, "type": "", "demo": "users\/create-sha-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-sha-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -45523,6 +45443,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-sha-user.md", "auth": { "Project": [] } @@ -45619,7 +45540,6 @@ "cookies": false, "type": "", "demo": "users\/get-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -45629,6 +45549,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-usage.md", "auth": { "Project": [] } @@ -45692,7 +45613,6 @@ "cookies": false, "type": "", "demo": "users\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -45703,6 +45623,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user.md", "auth": { "Project": [] } @@ -45746,7 +45667,6 @@ "cookies": false, "type": "", "demo": "users\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -45757,6 +45677,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete.md", "auth": { "Project": [] } @@ -45809,7 +45730,6 @@ "cookies": false, "type": "", "demo": "users\/update-email.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-email.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -45820,6 +45740,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-email.md", "auth": { "Project": [] } @@ -45891,7 +45812,6 @@ "cookies": false, "type": "", "demo": "users\/create-jwt.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-user-jwt.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -45902,6 +45822,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-user-jwt.md", "auth": { "Project": [] } @@ -45975,7 +45896,6 @@ "cookies": false, "type": "", "demo": "users\/update-labels.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-labels.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -45986,6 +45906,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-labels.md", "auth": { "Project": [] } @@ -46060,7 +45981,6 @@ "cookies": false, "type": "", "demo": "users\/list-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -46071,6 +45991,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-logs.md", "auth": { "Project": [] } @@ -46147,7 +46068,6 @@ "cookies": false, "type": "", "demo": "users\/list-memberships.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-memberships.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -46158,6 +46078,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-memberships.md", "auth": { "Project": [] } @@ -46245,7 +46166,6 @@ "cookies": false, "type": "", "demo": "users\/update-mfa.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-mfa.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -46256,6 +46176,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-mfa.md", "deprecated": { "since": "1.8.0", "replaceWith": "users.updateMFA" @@ -46380,7 +46301,6 @@ "cookies": false, "type": "", "demo": "users\/delete-mfa-authenticator.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-mfa-authenticator.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -46391,6 +46311,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-mfa-authenticator.md", "deprecated": { "since": "1.8.0", "replaceWith": "users.deleteMFAAuthenticator" @@ -46516,7 +46437,6 @@ "cookies": false, "type": "", "demo": "users\/list-mfa-factors.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-mfa-factors.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -46527,6 +46447,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-mfa-factors.md", "deprecated": { "since": "1.8.0", "replaceWith": "users.listMFAFactors" @@ -46635,7 +46556,6 @@ "cookies": false, "type": "", "demo": "users\/get-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -46646,6 +46566,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "users.getMFARecoveryCodes" @@ -46752,7 +46673,6 @@ "cookies": false, "type": "", "demo": "users\/update-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -46763,6 +46683,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "users.updateMFARecoveryCodes" @@ -46869,7 +46790,6 @@ "cookies": false, "type": "", "demo": "users\/create-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -46880,6 +46800,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "users.createMFARecoveryCodes" @@ -46988,7 +46909,6 @@ "cookies": false, "type": "", "demo": "users\/update-name.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-name.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -46999,6 +46919,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-name.md", "auth": { "Project": [] } @@ -47070,7 +46991,6 @@ "cookies": false, "type": "", "demo": "users\/update-password.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-password.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47081,6 +47001,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-password.md", "auth": { "Project": [] } @@ -47152,7 +47073,6 @@ "cookies": false, "type": "", "demo": "users\/update-phone.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-phone.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47163,6 +47083,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-phone.md", "auth": { "Project": [] } @@ -47234,7 +47155,6 @@ "cookies": false, "type": "", "demo": "users\/get-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47245,6 +47165,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user-prefs.md", "auth": { "Project": [] } @@ -47295,7 +47216,6 @@ "cookies": false, "type": "", "demo": "users\/update-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47306,6 +47226,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-prefs.md", "auth": { "Project": [] } @@ -47377,7 +47298,6 @@ "cookies": false, "type": "", "demo": "users\/list-sessions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-sessions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47388,6 +47308,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-sessions.md", "auth": { "Project": [] } @@ -47449,7 +47370,6 @@ "cookies": false, "type": "", "demo": "users\/create-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-session.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47460,6 +47380,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-session.md", "auth": { "Project": [] } @@ -47503,7 +47424,6 @@ "cookies": false, "type": "", "demo": "users\/delete-sessions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-user-sessions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47514,6 +47434,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-user-sessions.md", "auth": { "Project": [] } @@ -47559,7 +47480,6 @@ "cookies": false, "type": "", "demo": "users\/delete-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-user-session.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47570,6 +47490,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-user-session.md", "auth": { "Project": [] } @@ -47632,7 +47553,6 @@ "cookies": false, "type": "", "demo": "users\/update-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47643,6 +47563,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-status.md", "auth": { "Project": [] } @@ -47714,7 +47635,6 @@ "cookies": false, "type": "", "demo": "users\/list-targets.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-targets.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47725,6 +47645,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-targets.md", "auth": { "Project": [] } @@ -47799,7 +47720,6 @@ "cookies": false, "type": "", "demo": "users\/create-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47810,6 +47730,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-target.md", "auth": { "Project": [] } @@ -47910,7 +47831,6 @@ "cookies": false, "type": "", "demo": "users\/get-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47921,6 +47841,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user-target.md", "auth": { "Project": [] } @@ -47981,7 +47902,6 @@ "cookies": false, "type": "", "demo": "users\/update-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47992,6 +47912,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-target.md", "auth": { "Project": [] } @@ -48071,7 +47992,6 @@ "cookies": false, "type": "", "demo": "users\/delete-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -48082,6 +48002,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-target.md", "auth": { "Project": [] } @@ -48144,7 +48065,6 @@ "cookies": false, "type": "", "demo": "users\/create-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-token.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -48155,6 +48075,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-token.md", "auth": { "Project": [] } @@ -48228,7 +48149,6 @@ "cookies": false, "type": "", "demo": "users\/update-email-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-email-verification.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -48239,6 +48159,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-email-verification.md", "auth": { "Project": [] } @@ -48310,7 +48231,6 @@ "cookies": false, "type": "", "demo": "users\/update-phone-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-phone-verification.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -48321,6 +48241,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-phone-verification.md", "auth": { "Project": [] } @@ -48392,7 +48313,6 @@ "cookies": false, "type": "", "demo": "vcs\/create-repository-detection.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/create-repository-detection.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -48402,6 +48322,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/create-repository-detection.md", "auth": { "Project": [] } @@ -48489,7 +48410,6 @@ "cookies": false, "type": "", "demo": "vcs\/list-repositories.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/list-repositories.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -48499,6 +48419,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/list-repositories.md", "auth": { "Project": [] } @@ -48588,7 +48509,6 @@ "cookies": false, "type": "", "demo": "vcs\/create-repository.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/create-repository.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -48598,6 +48518,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/create-repository.md", "auth": { "Project": [] } @@ -48674,7 +48595,6 @@ "cookies": false, "type": "", "demo": "vcs\/get-repository.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/get-repository.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -48684,6 +48604,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/get-repository.md", "auth": { "Project": [] } @@ -48745,7 +48666,6 @@ "cookies": false, "type": "", "demo": "vcs\/list-repository-branches.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/list-repository-branches.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -48755,6 +48675,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/list-repository-branches.md", "auth": { "Project": [] } @@ -48816,7 +48737,6 @@ "cookies": false, "type": "", "demo": "vcs\/get-repository-contents.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/get-repository-contents.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -48826,6 +48746,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/get-repository-contents.md", "auth": { "Project": [] } @@ -48902,7 +48823,6 @@ "cookies": false, "type": "", "demo": "vcs\/update-external-deployments.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/update-external-deployments.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -48912,6 +48832,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/update-external-deployments.md", "auth": { "Project": [] } @@ -48992,7 +48913,6 @@ "cookies": false, "type": "", "demo": "vcs\/list-installations.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/list-installations.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -49002,6 +48922,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/list-installations.md", "auth": { "Project": [] } @@ -49078,7 +48999,6 @@ "cookies": false, "type": "", "demo": "vcs\/get-installation.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/get-installation.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -49088,6 +49008,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/get-installation.md", "auth": { "Project": [] } @@ -49130,7 +49051,6 @@ "cookies": false, "type": "", "demo": "vcs\/delete-installation.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/delete-installation.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -49140,6 +49060,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/delete-installation.md", "auth": { "Project": [] } diff --git a/app/config/specs/open-api3-1.8.x-server.json b/app/config/specs/open-api3-1.8.x-server.json index 11236f404b..57c9d6ac31 100644 --- a/app/config/specs/open-api3-1.8.x-server.json +++ b/app/config/specs/open-api3-1.8.x-server.json @@ -52,7 +52,6 @@ "cookies": false, "type": "", "demo": "account\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -64,6 +63,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get.md", "auth": { "Project": [], "Session": [] @@ -104,7 +104,6 @@ "cookies": false, "type": "", "demo": "account\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -116,6 +115,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create.md", "auth": { "Project": [], "Session": [] @@ -194,7 +194,6 @@ "cookies": false, "type": "", "demo": "account\/update-email.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-email.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -206,6 +205,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-email.md", "auth": { "Project": [], "Session": [] @@ -273,7 +273,6 @@ "cookies": false, "type": "", "demo": "account\/list-identities.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-identities.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -285,6 +284,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-identities.md", "auth": { "Project": [], "Session": [] @@ -346,7 +346,6 @@ "cookies": false, "type": "", "demo": "account\/delete-identity.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-identity.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -358,6 +357,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-identity.md", "auth": { "Project": [], "Session": [] @@ -412,7 +412,6 @@ "cookies": false, "type": "", "demo": "account\/create-jwt.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-jwt.md", "rate-limit": 100, "rate-time": 3600, "rate-key": "url:{url},userId:{userId}", @@ -424,6 +423,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-jwt.md", "auth": { "Project": [], "Session": [] @@ -466,7 +466,6 @@ "cookies": false, "type": "", "demo": "account\/list-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -478,6 +477,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-logs.md", "auth": { "Project": [], "Session": [] @@ -546,7 +546,6 @@ "cookies": false, "type": "", "demo": "account\/update-mfa.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -558,6 +557,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa.md", "auth": { "Project": [], "Session": [] @@ -619,7 +619,6 @@ "cookies": false, "type": "", "demo": "account\/create-mfa-authenticator.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-authenticator.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -631,6 +630,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-authenticator.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.createMFAAuthenticator" @@ -746,7 +746,6 @@ "cookies": false, "type": "", "demo": "account\/update-mfa-authenticator.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-authenticator.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -758,6 +757,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-authenticator.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.updateMFAAuthenticator" @@ -889,7 +889,6 @@ "cookies": false, "type": "", "demo": "account\/delete-mfa-authenticator.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-mfa-authenticator.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -901,6 +900,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-mfa-authenticator.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.deleteMFAAuthenticator" @@ -1016,7 +1016,6 @@ "cookies": false, "type": "", "demo": "account\/create-mfa-challenge.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-challenge.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},userId:{userId}", @@ -1028,6 +1027,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-challenge.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.createMFAChallenge" @@ -1153,7 +1153,6 @@ "cookies": false, "type": "", "demo": "account\/update-mfa-challenge.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-challenge.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},challengeId:{param-challengeId}", @@ -1165,6 +1164,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-challenge.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.updateMFAChallenge" @@ -1294,7 +1294,6 @@ "cookies": false, "type": "", "demo": "account\/list-mfa-factors.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-mfa-factors.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1306,6 +1305,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-mfa-factors.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.listMFAFactors" @@ -1398,7 +1398,6 @@ "cookies": false, "type": "", "demo": "account\/get-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1410,6 +1409,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.getMFARecoveryCodes" @@ -1500,7 +1500,6 @@ "cookies": false, "type": "", "demo": "account\/create-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1512,6 +1511,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.createMFARecoveryCodes" @@ -1602,7 +1602,6 @@ "cookies": false, "type": "", "demo": "account\/update-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1614,6 +1613,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.updateMFARecoveryCodes" @@ -1706,7 +1706,6 @@ "cookies": false, "type": "", "demo": "account\/update-name.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-name.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1718,6 +1717,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-name.md", "auth": { "Project": [], "Session": [] @@ -1779,7 +1779,6 @@ "cookies": false, "type": "", "demo": "account\/update-password.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-password.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1791,6 +1790,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-password.md", "auth": { "Project": [], "Session": [] @@ -1857,7 +1857,6 @@ "cookies": false, "type": "", "demo": "account\/update-phone.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-phone.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1869,6 +1868,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-phone.md", "auth": { "Project": [], "Session": [] @@ -1936,7 +1936,6 @@ "cookies": false, "type": "", "demo": "account\/get-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1948,6 +1947,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-prefs.md", "auth": { "Project": [], "Session": [] @@ -1988,7 +1988,6 @@ "cookies": false, "type": "", "demo": "account\/update-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2000,6 +1999,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-prefs.md", "auth": { "Project": [], "Session": [] @@ -2061,7 +2061,6 @@ "cookies": false, "type": "", "demo": "account\/create-recovery.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-recovery.md", "rate-limit": 10, "rate-time": 3600, "rate-key": [ @@ -2076,6 +2075,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-recovery.md", "auth": { "Project": [], "Session": [] @@ -2141,7 +2141,6 @@ "cookies": false, "type": "", "demo": "account\/update-recovery.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-recovery.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},userId:{param-userId}", @@ -2153,6 +2152,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-recovery.md", "auth": { "Project": [], "Session": [] @@ -2226,7 +2226,6 @@ "cookies": false, "type": "", "demo": "account\/list-sessions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-sessions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2238,6 +2237,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-sessions.md", "auth": { "Project": [], "Session": [] @@ -2271,7 +2271,6 @@ "cookies": false, "type": "", "demo": "account\/delete-sessions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-sessions.md", "rate-limit": 100, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2283,6 +2282,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-sessions.md", "auth": { "Project": [], "Session": [] @@ -2325,7 +2325,6 @@ "cookies": false, "type": "", "demo": "account\/create-anonymous-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-anonymous.md", "rate-limit": 50, "rate-time": 3600, "rate-key": "ip:{ip}", @@ -2337,6 +2336,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-anonymous.md", "auth": { "Project": [], "Session": [] @@ -2379,7 +2379,6 @@ "cookies": false, "type": "", "demo": "account\/create-email-password-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-email-password.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},email:{param-email}", @@ -2391,6 +2390,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-email-password.md", "auth": { "Project": [], "Session": [] @@ -2458,7 +2458,6 @@ "cookies": false, "type": "", "demo": "account\/update-magic-url-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "ip:{ip},userId:{param-userId}", @@ -2470,6 +2469,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "deprecated": { "since": "1.6.0", "replaceWith": "account.createSession" @@ -2541,7 +2541,6 @@ "cookies": false, "type": "", "demo": "account\/update-phone-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "ip:{ip},userId:{param-userId}", @@ -2553,6 +2552,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "deprecated": { "since": "1.6.0", "replaceWith": "account.createSession" @@ -2624,7 +2624,6 @@ "cookies": false, "type": "", "demo": "account\/create-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "ip:{ip},userId:{param-userId}", @@ -2636,6 +2635,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "auth": { "Project": [], "Session": [] @@ -2703,7 +2703,6 @@ "cookies": false, "type": "", "demo": "account\/get-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-session.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2715,6 +2714,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-session.md", "auth": { "Project": [], "Session": [] @@ -2767,7 +2767,6 @@ "cookies": false, "type": "", "demo": "account\/update-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-session.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2779,6 +2778,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-session.md", "auth": { "Project": [], "Session": [] @@ -2824,7 +2824,6 @@ "cookies": false, "type": "", "demo": "account\/delete-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-session.md", "rate-limit": 100, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2836,6 +2835,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-session.md", "auth": { "Project": [], "Session": [] @@ -2890,7 +2890,6 @@ "cookies": false, "type": "", "demo": "account\/update-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2902,6 +2901,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-status.md", "auth": { "Project": [], "Session": [] @@ -2944,7 +2944,6 @@ "cookies": false, "type": "", "demo": "account\/create-email-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-email.md", "rate-limit": 10, "rate-time": 3600, "rate-key": [ @@ -2959,6 +2958,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-email.md", "auth": { "Project": [], "Session": [] @@ -3031,7 +3031,6 @@ "cookies": false, "type": "", "demo": "account\/create-magic-url-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-magic-url.md", "rate-limit": 60, "rate-time": 3600, "rate-key": [ @@ -3046,6 +3045,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-magic-url.md", "auth": { "Project": [], "Session": [] @@ -3116,7 +3116,6 @@ "cookies": false, "type": "webAuth", "demo": "account\/create-o-auth-2-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-oauth2.md", "rate-limit": 50, "rate-time": 3600, "rate-key": "ip:{ip}", @@ -3128,6 +3127,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-oauth2.md", "auth": { "Project": [], "Session": [] @@ -3263,7 +3263,6 @@ "cookies": false, "type": "", "demo": "account\/create-phone-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-phone.md", "rate-limit": 10, "rate-time": 3600, "rate-key": [ @@ -3278,6 +3277,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-phone.md", "auth": { "Project": [], "Session": [] @@ -3345,7 +3345,6 @@ "cookies": false, "type": "", "demo": "account\/create-email-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-email-verification.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},userId:{userId}", @@ -3357,6 +3356,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-email-verification.md", "methods": [ { "name": "createEmailVerification", @@ -3470,7 +3470,6 @@ "cookies": false, "type": "", "demo": "account\/update-email-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-email-verification.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},userId:{param-userId}", @@ -3482,6 +3481,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-email-verification.md", "methods": [ { "name": "updateEmailVerification", @@ -3607,7 +3607,6 @@ "cookies": false, "type": "", "demo": "account\/create-phone-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-phone-verification.md", "rate-limit": 10, "rate-time": 3600, "rate-key": [ @@ -3622,6 +3621,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-phone-verification.md", "auth": { "Project": [], "Session": [] @@ -3662,7 +3662,6 @@ "cookies": false, "type": "", "demo": "account\/update-phone-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-phone-verification.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "userId:{param-userId}", @@ -3674,6 +3673,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-phone-verification.md", "auth": { "Project": [], "Session": [] @@ -3734,7 +3734,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-browser.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-browser.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -3747,6 +3746,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-browser.md", "auth": { "Project": [], "Session": [] @@ -3864,7 +3864,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-credit-card.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-credit-card.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -3877,6 +3876,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-credit-card.md", "auth": { "Project": [], "Session": [] @@ -4000,7 +4000,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-favicon.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-favicon.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4013,6 +4012,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-favicon.md", "auth": { "Project": [], "Session": [] @@ -4062,7 +4062,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-flag.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-flag.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4075,6 +4074,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-flag.md", "auth": { "Project": [], "Session": [] @@ -4554,7 +4554,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-image.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-image.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4567,6 +4566,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-image.md", "auth": { "Project": [], "Session": [] @@ -4640,7 +4640,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-initials.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-initials.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4653,6 +4652,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-initials.md", "auth": { "Project": [], "Session": [] @@ -4736,7 +4736,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-qr.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-qr.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4749,6 +4748,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-qr.md", "auth": { "Project": [], "Session": [] @@ -4832,7 +4832,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-screenshot.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-screenshot.md", "rate-limit": 60, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4845,6 +4844,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-screenshot.md", "auth": { "Project": [], "Session": [] @@ -5587,7 +5587,6 @@ "cookies": false, "type": "", "demo": "databases\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -5598,6 +5597,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.list" @@ -5708,7 +5708,6 @@ "cookies": false, "type": "", "demo": "databases\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -5719,6 +5718,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.create" @@ -5827,7 +5827,6 @@ "cookies": false, "type": "", "demo": "databases\/list-transactions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-transactions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -5840,6 +5839,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-transactions.md", "auth": { "Project": [], "Key": [] @@ -5896,7 +5896,6 @@ "cookies": false, "type": "", "demo": "databases\/create-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -5909,6 +5908,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-transaction.md", "auth": { "Project": [], "Key": [] @@ -5968,7 +5968,6 @@ "cookies": false, "type": "", "demo": "databases\/get-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -5981,6 +5980,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-transaction.md", "auth": { "Project": [], "Key": [] @@ -6034,7 +6034,6 @@ "cookies": false, "type": "", "demo": "databases\/update-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6047,6 +6046,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-transaction.md", "auth": { "Project": [], "Key": [] @@ -6114,7 +6114,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6127,6 +6126,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-transaction.md", "auth": { "Project": [], "Key": [] @@ -6182,7 +6182,6 @@ "cookies": false, "type": "", "demo": "databases\/create-operations.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-operations.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6195,6 +6194,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-operations.md", "auth": { "Project": [], "Key": [] @@ -6269,7 +6269,6 @@ "cookies": false, "type": "", "demo": "databases\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6280,6 +6279,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.get" @@ -6365,7 +6365,6 @@ "cookies": false, "type": "", "demo": "databases\/update.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6376,6 +6375,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.update" @@ -6481,7 +6481,6 @@ "cookies": false, "type": "", "demo": "databases\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6492,6 +6491,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.delete" @@ -6578,7 +6578,6 @@ "cookies": false, "type": "", "demo": "databases\/list-collections.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-collections.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6589,6 +6588,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-collections.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.listTables" @@ -6679,7 +6679,6 @@ "cookies": false, "type": "", "demo": "databases\/create-collection.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-collection.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6690,6 +6689,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-collection.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createTable" @@ -6807,7 +6807,6 @@ "cookies": false, "type": "", "demo": "databases\/get-collection.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-collection.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6818,6 +6817,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-collection.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.getTable" @@ -6883,7 +6883,6 @@ "cookies": false, "type": "", "demo": "databases\/update-collection.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-collection.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6894,6 +6893,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-collection.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateTable" @@ -6990,7 +6990,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-collection.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-collection.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7001,6 +7000,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-collection.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.deleteTable" @@ -7068,7 +7068,6 @@ "cookies": false, "type": "", "demo": "databases\/list-attributes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-attributes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7079,6 +7078,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-attributes.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.listColumns" @@ -7170,7 +7170,6 @@ "cookies": false, "type": "", "demo": "databases\/create-boolean-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-boolean-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7181,6 +7180,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-boolean-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createBooleanColumn" @@ -7284,7 +7284,6 @@ "cookies": false, "type": "", "demo": "databases\/update-boolean-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-boolean-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7295,6 +7294,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-boolean-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateBooleanColumn" @@ -7403,7 +7403,6 @@ "cookies": false, "type": "", "demo": "databases\/create-datetime-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-datetime-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7414,6 +7413,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-datetime-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createDatetimeColumn" @@ -7517,7 +7517,6 @@ "cookies": false, "type": "", "demo": "databases\/update-datetime-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-datetime-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7528,6 +7527,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-datetime-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateDatetimeColumn" @@ -7636,7 +7636,6 @@ "cookies": false, "type": "", "demo": "databases\/create-email-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-email-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7647,6 +7646,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-email-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createEmailColumn" @@ -7750,7 +7750,6 @@ "cookies": false, "type": "", "demo": "databases\/update-email-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-email-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7761,6 +7760,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-email-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateEmailColumn" @@ -7869,7 +7869,6 @@ "cookies": false, "type": "", "demo": "databases\/create-enum-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-enum-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7880,6 +7879,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-enum-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createEnumColumn" @@ -7992,7 +7992,6 @@ "cookies": false, "type": "", "demo": "databases\/update-enum-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-enum-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8003,6 +8002,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-enum-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateEnumColumn" @@ -8120,7 +8120,6 @@ "cookies": false, "type": "", "demo": "databases\/create-float-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-float-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8131,6 +8130,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-float-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createFloatColumn" @@ -8246,7 +8246,6 @@ "cookies": false, "type": "", "demo": "databases\/update-float-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-float-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8257,6 +8256,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-float-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateFloatColumn" @@ -8377,7 +8377,6 @@ "cookies": false, "type": "", "demo": "databases\/create-integer-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-integer-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8388,6 +8387,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-integer-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createIntegerColumn" @@ -8503,7 +8503,6 @@ "cookies": false, "type": "", "demo": "databases\/update-integer-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-integer-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8514,6 +8513,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-integer-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateIntegerColumn" @@ -8634,7 +8634,6 @@ "cookies": false, "type": "", "demo": "databases\/create-ip-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-ip-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8645,6 +8644,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-ip-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createIpColumn" @@ -8748,7 +8748,6 @@ "cookies": false, "type": "", "demo": "databases\/update-ip-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-ip-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8759,6 +8758,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-ip-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateIpColumn" @@ -8867,7 +8867,6 @@ "cookies": false, "type": "", "demo": "databases\/create-line-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-line-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8878,6 +8877,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-line-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createLineColumn" @@ -8983,7 +8983,6 @@ "cookies": false, "type": "", "demo": "databases\/update-line-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-line-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8994,6 +8993,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-line-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateLineColumn" @@ -9108,7 +9108,6 @@ "cookies": false, "type": "", "demo": "databases\/create-point-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-point-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9119,6 +9118,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-point-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createPointColumn" @@ -9224,7 +9224,6 @@ "cookies": false, "type": "", "demo": "databases\/update-point-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-point-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9235,6 +9234,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-point-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updatePointColumn" @@ -9349,7 +9349,6 @@ "cookies": false, "type": "", "demo": "databases\/create-polygon-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-polygon-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9360,6 +9359,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-polygon-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createPolygonColumn" @@ -9465,7 +9465,6 @@ "cookies": false, "type": "", "demo": "databases\/update-polygon-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-polygon-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9476,6 +9475,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-polygon-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updatePolygonColumn" @@ -9590,7 +9590,6 @@ "cookies": false, "type": "", "demo": "databases\/create-relationship-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-relationship-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9601,6 +9600,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-relationship-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createRelationshipColumn" @@ -9730,7 +9730,6 @@ "cookies": false, "type": "", "demo": "databases\/create-string-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-string-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9741,6 +9740,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-string-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createStringColumn" @@ -9855,7 +9855,6 @@ "cookies": false, "type": "", "demo": "databases\/update-string-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-string-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9866,6 +9865,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-string-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateStringColumn" @@ -9980,7 +9980,6 @@ "cookies": false, "type": "", "demo": "databases\/create-url-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-url-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9991,6 +9990,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-url-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createUrlColumn" @@ -10094,7 +10094,6 @@ "cookies": false, "type": "", "demo": "databases\/update-url-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-url-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10105,6 +10104,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-url-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateUrlColumn" @@ -10244,7 +10244,6 @@ "cookies": false, "type": "", "demo": "databases\/get-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10255,6 +10254,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.getColumn" @@ -10322,7 +10322,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10333,6 +10332,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.deleteColumn" @@ -10409,7 +10409,6 @@ "cookies": false, "type": "", "demo": "databases\/update-relationship-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-relationship-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10420,6 +10419,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-relationship-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateRelationshipColumn" @@ -10526,7 +10526,6 @@ "cookies": false, "type": "", "demo": "databases\/list-documents.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-documents.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10539,6 +10538,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-documents.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.listRows" @@ -10640,7 +10640,6 @@ "cookies": false, "type": "", "demo": "databases\/create-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-document.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -10653,6 +10652,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createRow" @@ -10835,7 +10835,6 @@ "cookies": false, "type": "", "demo": "databases\/upsert-documents.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-documents.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -10846,6 +10845,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-documents.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.upsertRows" @@ -10974,7 +10974,6 @@ "cookies": false, "type": "", "demo": "databases\/update-documents.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-documents.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -10985,6 +10984,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-documents.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateRows" @@ -11080,7 +11080,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-documents.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-documents.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -11091,6 +11090,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-documents.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.deleteRows" @@ -11183,7 +11183,6 @@ "cookies": false, "type": "", "demo": "databases\/get-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-document.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -11196,6 +11195,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.getRow" @@ -11296,7 +11296,6 @@ "cookies": false, "type": "", "demo": "databases\/upsert-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-document.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -11309,6 +11308,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.upsertRow" @@ -11458,7 +11458,6 @@ "cookies": false, "type": "", "demo": "databases\/update-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-document.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -11471,6 +11470,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateRow" @@ -11572,7 +11572,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-document.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -11585,6 +11584,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.deleteRow" @@ -11681,7 +11681,6 @@ "cookies": false, "type": "", "demo": "databases\/decrement-document-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/decrement-document-attribute.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -11694,6 +11693,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/decrement-document-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.decrementRowColumn" @@ -11810,7 +11810,6 @@ "cookies": false, "type": "", "demo": "databases\/increment-document-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/increment-document-attribute.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -11823,6 +11822,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/increment-document-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.incrementRowColumn" @@ -11939,7 +11939,6 @@ "cookies": false, "type": "", "demo": "databases\/list-indexes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-indexes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -11950,6 +11949,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-indexes.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.listIndexes" @@ -12039,7 +12039,6 @@ "cookies": false, "type": "", "demo": "databases\/create-index.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12050,6 +12049,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-index.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createIndex" @@ -12181,7 +12181,6 @@ "cookies": false, "type": "", "demo": "databases\/get-index.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12192,6 +12191,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-index.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.getIndex" @@ -12259,7 +12259,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-index.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12270,6 +12269,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-index.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.deleteIndex" @@ -12346,7 +12346,6 @@ "cookies": false, "type": "", "demo": "functions\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all the project's functions. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12433,7 +12432,6 @@ "cookies": false, "type": "", "demo": "functions\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new function. You can pass a list of [permissions](https:\/\/appwrite.io\/docs\/permissions) to allow different project users or team with access to execute the function using the client API.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12730,7 +12728,6 @@ "cookies": false, "type": "", "demo": "functions\/list-runtimes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all runtimes that are currently active on your instance.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12782,7 +12779,6 @@ "cookies": false, "type": "", "demo": "functions\/list-specifications.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterList allowed function specifications for this instance.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12834,7 +12830,6 @@ "cookies": false, "type": "", "demo": "functions\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a function by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12896,7 +12891,6 @@ "cookies": false, "type": "", "demo": "functions\/update.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate function by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13190,7 +13184,6 @@ "cookies": false, "type": "", "demo": "functions\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a function by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13254,7 +13247,6 @@ "cookies": false, "type": "", "demo": "functions\/update-function-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate the function active deployment. Use this endpoint to switch the code deployment that should be used when visitor opens your function.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13337,7 +13329,6 @@ "cookies": false, "type": "", "demo": "functions\/list-deployments.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all the function's code deployments. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13434,7 +13425,6 @@ "cookies": false, "type": "upload", "demo": "functions\/create-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new function code deployment. Use this endpoint to upload a new version of your code function. To execute your newly uploaded code, you'll need to update the function's deployment to use your new deployment UID.\n\nThis endpoint accepts a tar.gz file compressed with your code. Make sure to include any dependencies your code has within the compressed file. You can learn more about code packaging in the [Appwrite Cloud Functions tutorial](https:\/\/appwrite.io\/docs\/functions).\n\nUse the \"command\" param to set the entrypoint used to execute your code.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13535,7 +13525,6 @@ "cookies": false, "type": "", "demo": "functions\/create-duplicate-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new build for an existing function deployment. This endpoint allows you to rebuild a deployment with the updated function configuration, including its entrypoint and build commands if they have been modified. The build process will be queued and executed asynchronously. The original deployment's code will be preserved and used for the new build.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13623,7 +13612,6 @@ "cookies": false, "type": "", "demo": "functions\/create-template-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a deployment based on a template.\n\nUse this endpoint with combination of [listTemplates](https:\/\/appwrite.io\/docs\/products\/functions\/templates) to find the template details.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13742,7 +13730,6 @@ "cookies": false, "type": "", "demo": "functions\/create-vcs-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a deployment when a function is connected to VCS.\n\nThis endpoint lets you create deployment from a branch, commit, or a tag.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13842,7 +13829,6 @@ "cookies": false, "type": "", "demo": "functions\/get-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a function deployment by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13907,7 +13893,6 @@ "cookies": false, "type": "", "demo": "functions\/delete-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a code deployment by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13974,7 +13959,6 @@ "cookies": false, "type": "location", "demo": "functions\/get-deployment-download.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a function deployment content by its unique ID. The endpoint response return with a 'Content-Disposition: attachment' header that tells the browser to start downloading the file to user downloads directory.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14067,7 +14051,6 @@ "cookies": false, "type": "", "demo": "functions\/update-deployment-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCancel an ongoing function deployment build. If the build is already in progress, it will be stopped and marked as canceled. If the build hasn't started yet, it will be marked as canceled without executing. You cannot cancel builds that have already completed (status 'ready') or failed. The response includes the final build status and details.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14141,7 +14124,6 @@ "cookies": false, "type": "", "demo": "functions\/list-executions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all the current user function execution logs. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14231,7 +14213,6 @@ "cookies": false, "type": "", "demo": "functions\/create-execution.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterTrigger a function execution. The returned object will return you the current execution status. You can ping the `Get Execution` endpoint to get updates on the current execution status. Once this endpoint is called, your function execution process will start asynchronously.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14352,7 +14333,6 @@ "cookies": false, "type": "", "demo": "functions\/get-execution.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a function execution log by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14421,7 +14401,6 @@ "cookies": false, "type": "", "demo": "functions\/delete-execution.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a function execution by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14495,7 +14474,6 @@ "cookies": false, "type": "", "demo": "functions\/list-variables.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all variables of a specific function.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14557,7 +14535,6 @@ "cookies": false, "type": "", "demo": "functions\/create-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new function environment variable. These variables can be accessed in the function at runtime as environment variables.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14651,7 +14628,6 @@ "cookies": false, "type": "", "demo": "functions\/get-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a variable by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14723,7 +14699,6 @@ "cookies": false, "type": "", "demo": "functions\/update-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate variable by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14819,7 +14794,6 @@ "cookies": false, "type": "", "demo": "functions\/delete-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a variable by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14893,7 +14867,6 @@ "cookies": false, "type": "graphql", "demo": "graphql\/query.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "rate-limit": 60, "rate-time": 60, "rate-key": "url:{url},ip:{ip}", @@ -14906,6 +14879,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "auth": { "Project": [], "Key": [] @@ -14949,7 +14923,6 @@ "cookies": false, "type": "graphql", "demo": "graphql\/mutation.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "rate-limit": 60, "rate-time": 60, "rate-key": "url:{url},ip:{ip}", @@ -14962,6 +14935,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "auth": { "Project": [], "Key": [] @@ -15005,7 +14979,6 @@ "cookies": false, "type": "", "demo": "health\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15016,6 +14989,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get.md", "auth": { "Project": [], "Key": [] @@ -15057,7 +15031,6 @@ "cookies": false, "type": "", "demo": "health\/get-antivirus.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage-anti-virus.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15068,6 +15041,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage-anti-virus.md", "auth": { "Project": [], "Key": [] @@ -15109,7 +15083,6 @@ "cookies": false, "type": "", "demo": "health\/get-cache.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-cache.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15120,6 +15093,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-cache.md", "auth": { "Project": [], "Key": [] @@ -15161,7 +15135,6 @@ "cookies": false, "type": "", "demo": "health\/get-certificate.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-certificate.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15172,6 +15145,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-certificate.md", "auth": { "Project": [], "Key": [] @@ -15224,7 +15198,6 @@ "cookies": false, "type": "", "demo": "health\/get-db.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-db.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15235,6 +15208,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-db.md", "auth": { "Project": [], "Key": [] @@ -15276,7 +15250,6 @@ "cookies": false, "type": "", "demo": "health\/get-pub-sub.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-pubsub.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15287,6 +15260,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-pubsub.md", "auth": { "Project": [], "Key": [] @@ -15328,7 +15302,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-builds.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-builds.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15339,6 +15312,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-builds.md", "auth": { "Project": [], "Key": [] @@ -15393,7 +15367,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-certificates.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-certificates.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15404,6 +15377,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-certificates.md", "auth": { "Project": [], "Key": [] @@ -15458,7 +15432,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-databases.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-databases.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15469,6 +15442,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-databases.md", "auth": { "Project": [], "Key": [] @@ -15534,7 +15508,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-deletes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-deletes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15545,6 +15518,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-deletes.md", "auth": { "Project": [], "Key": [] @@ -15599,7 +15573,6 @@ "cookies": false, "type": "", "demo": "health\/get-failed-jobs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-failed-queue-jobs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15610,6 +15583,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-failed-queue-jobs.md", "auth": { "Project": [], "Key": [] @@ -15690,7 +15664,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-functions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-functions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15701,6 +15674,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-functions.md", "auth": { "Project": [], "Key": [] @@ -15755,7 +15729,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15766,6 +15739,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-logs.md", "auth": { "Project": [], "Key": [] @@ -15820,7 +15794,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-mails.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-mails.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15831,6 +15804,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-mails.md", "auth": { "Project": [], "Key": [] @@ -15885,7 +15859,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-messaging.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-messaging.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15896,6 +15869,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-messaging.md", "auth": { "Project": [], "Key": [] @@ -15950,7 +15924,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-migrations.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-migrations.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15961,6 +15934,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-migrations.md", "auth": { "Project": [], "Key": [] @@ -16015,7 +15989,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-stats-resources.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-stats-resources.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16026,6 +15999,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-stats-resources.md", "auth": { "Project": [], "Key": [] @@ -16080,7 +16054,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-stats-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16091,6 +16064,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-stats-usage.md", "auth": { "Project": [], "Key": [] @@ -16145,7 +16119,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-webhooks.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-webhooks.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16156,6 +16129,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-webhooks.md", "auth": { "Project": [], "Key": [] @@ -16210,7 +16184,6 @@ "cookies": false, "type": "", "demo": "health\/get-storage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16221,6 +16194,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage.md", "auth": { "Project": [], "Key": [] @@ -16262,7 +16236,6 @@ "cookies": false, "type": "", "demo": "health\/get-storage-local.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage-local.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16273,6 +16246,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage-local.md", "auth": { "Project": [], "Key": [] @@ -16314,7 +16288,6 @@ "cookies": false, "type": "", "demo": "health\/get-time.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-time.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16325,6 +16298,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-time.md", "auth": { "Project": [], "Key": [] @@ -16366,7 +16340,6 @@ "cookies": false, "type": "", "demo": "locale\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/get-locale.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16379,6 +16352,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/get-locale.md", "auth": { "Project": [], "Session": [] @@ -16422,7 +16396,6 @@ "cookies": false, "type": "", "demo": "locale\/list-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-locale-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16435,6 +16408,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-locale-codes.md", "auth": { "Project": [], "Session": [] @@ -16478,7 +16452,6 @@ "cookies": false, "type": "", "demo": "locale\/list-continents.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-continents.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16491,6 +16464,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-continents.md", "auth": { "Project": [], "Session": [] @@ -16534,7 +16508,6 @@ "cookies": false, "type": "", "demo": "locale\/list-countries.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16547,6 +16520,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries.md", "auth": { "Project": [], "Session": [] @@ -16590,7 +16564,6 @@ "cookies": false, "type": "", "demo": "locale\/list-countries-eu.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-eu.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16603,6 +16576,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-eu.md", "auth": { "Project": [], "Session": [] @@ -16646,7 +16620,6 @@ "cookies": false, "type": "", "demo": "locale\/list-countries-phones.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-phones.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16659,6 +16632,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-phones.md", "auth": { "Project": [], "Session": [] @@ -16702,7 +16676,6 @@ "cookies": false, "type": "", "demo": "locale\/list-currencies.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-currencies.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16715,6 +16688,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-currencies.md", "auth": { "Project": [], "Session": [] @@ -16758,7 +16732,6 @@ "cookies": false, "type": "", "demo": "locale\/list-languages.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-languages.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16771,6 +16744,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-languages.md", "auth": { "Project": [], "Session": [] @@ -16814,7 +16788,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-messages.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-messages.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16825,6 +16798,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-messages.md", "auth": { "Project": [], "Key": [] @@ -16903,7 +16877,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-email.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-email.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16914,6 +16887,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-email.md", "auth": { "Project": [], "Key": [] @@ -17050,7 +17024,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-email.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-email.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17061,6 +17034,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-email.md", "auth": { "Project": [], "Key": [] @@ -17209,7 +17183,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-push.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-push.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17220,6 +17193,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-push.md", "auth": { "Project": [], "Key": [] @@ -17387,7 +17361,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-push.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-push.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17398,6 +17371,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-push.md", "auth": { "Project": [], "Key": [] @@ -17585,7 +17559,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-sms.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-sms.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17596,6 +17569,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-sms.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.createSMS" @@ -17769,7 +17743,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-sms.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-sms.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17780,6 +17753,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-sms.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.updateSMS" @@ -17959,7 +17933,6 @@ "cookies": false, "type": "", "demo": "messaging\/get-message.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-message.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17970,6 +17943,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-message.md", "auth": { "Project": [], "Key": [] @@ -18014,7 +17988,6 @@ "cookies": false, "type": "", "demo": "messaging\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-message.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18025,6 +17998,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-message.md", "auth": { "Project": [], "Key": [] @@ -18078,7 +18052,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-message-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-message-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18089,6 +18062,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-message-logs.md", "auth": { "Project": [], "Key": [] @@ -18166,7 +18140,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-targets.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-message-targets.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18177,6 +18150,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-message-targets.md", "auth": { "Project": [], "Key": [] @@ -18254,7 +18228,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-providers.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-providers.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18265,6 +18238,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-providers.md", "auth": { "Project": [], "Key": [] @@ -18343,7 +18317,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-apns-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-apns-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18354,6 +18327,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-apns-provider.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.createAPNSProvider" @@ -18525,7 +18499,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-apns-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-apns-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18536,6 +18509,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-apns-provider.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.updateAPNSProvider" @@ -18709,7 +18683,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-fcm-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-fcm-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18720,6 +18693,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-fcm-provider.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.createFCMProvider" @@ -18864,7 +18838,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-fcm-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-fcm-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18875,6 +18848,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-fcm-provider.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.updateFCMProvider" @@ -19020,7 +18994,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-mailgun-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-mailgun-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19031,6 +19004,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-mailgun-provider.md", "auth": { "Project": [], "Key": [] @@ -19139,7 +19113,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-mailgun-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-mailgun-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19150,6 +19123,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-mailgun-provider.md", "auth": { "Project": [], "Key": [] @@ -19261,7 +19235,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-msg-91-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-msg91-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19272,6 +19245,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-msg91-provider.md", "auth": { "Project": [], "Key": [] @@ -19359,7 +19333,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-msg-91-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-msg91-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19370,6 +19343,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-msg91-provider.md", "auth": { "Project": [], "Key": [] @@ -19460,7 +19434,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-resend-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-resend-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19471,6 +19444,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-resend-provider.md", "auth": { "Project": [], "Key": [] @@ -19568,7 +19542,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-resend-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-resend-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19579,6 +19552,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-resend-provider.md", "auth": { "Project": [], "Key": [] @@ -19679,7 +19653,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-sendgrid-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-sendgrid-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19690,6 +19663,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-sendgrid-provider.md", "auth": { "Project": [], "Key": [] @@ -19787,7 +19761,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-sendgrid-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-sendgrid-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19798,6 +19771,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-sendgrid-provider.md", "auth": { "Project": [], "Key": [] @@ -19898,7 +19872,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-smtp-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-smtp-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19909,6 +19882,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-smtp-provider.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.createSMTPProvider" @@ -20132,7 +20106,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-smtp-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-smtp-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20143,6 +20116,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-smtp-provider.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.updateSMTPProvider" @@ -20366,7 +20340,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-telesign-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-telesign-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20377,6 +20350,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-telesign-provider.md", "auth": { "Project": [], "Key": [] @@ -20464,7 +20438,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-telesign-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-telesign-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20475,6 +20448,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-telesign-provider.md", "auth": { "Project": [], "Key": [] @@ -20565,7 +20539,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-textmagic-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-textmagic-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20576,6 +20549,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-textmagic-provider.md", "auth": { "Project": [], "Key": [] @@ -20663,7 +20637,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-textmagic-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-textmagic-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20674,6 +20647,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-textmagic-provider.md", "auth": { "Project": [], "Key": [] @@ -20764,7 +20738,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-twilio-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-twilio-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20775,6 +20748,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-twilio-provider.md", "auth": { "Project": [], "Key": [] @@ -20862,7 +20836,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-twilio-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-twilio-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20873,6 +20846,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-twilio-provider.md", "auth": { "Project": [], "Key": [] @@ -20963,7 +20937,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-vonage-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-vonage-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20974,6 +20947,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-vonage-provider.md", "auth": { "Project": [], "Key": [] @@ -21061,7 +21035,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-vonage-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-vonage-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21072,6 +21045,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-vonage-provider.md", "auth": { "Project": [], "Key": [] @@ -21162,7 +21136,6 @@ "cookies": false, "type": "", "demo": "messaging\/get-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21173,6 +21146,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-provider.md", "auth": { "Project": [], "Key": [] @@ -21217,7 +21191,6 @@ "cookies": false, "type": "", "demo": "messaging\/delete-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21228,6 +21201,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-provider.md", "auth": { "Project": [], "Key": [] @@ -21281,7 +21255,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-provider-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-provider-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21292,6 +21265,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-provider-logs.md", "auth": { "Project": [], "Key": [] @@ -21369,7 +21343,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-subscriber-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-subscriber-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21380,6 +21353,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-subscriber-logs.md", "auth": { "Project": [], "Key": [] @@ -21457,7 +21431,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-topics.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-topics.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21468,6 +21441,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-topics.md", "auth": { "Project": [], "Key": [] @@ -21544,7 +21518,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-topic.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-topic.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21555,6 +21528,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-topic.md", "auth": { "Project": [], "Key": [] @@ -21629,7 +21603,6 @@ "cookies": false, "type": "", "demo": "messaging\/get-topic.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-topic.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21640,6 +21613,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-topic.md", "auth": { "Project": [], "Key": [] @@ -21691,7 +21665,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-topic.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-topic.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21702,6 +21675,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-topic.md", "auth": { "Project": [], "Key": [] @@ -21772,7 +21746,6 @@ "cookies": false, "type": "", "demo": "messaging\/delete-topic.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-topic.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21783,6 +21756,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-topic.md", "auth": { "Project": [], "Key": [] @@ -21836,7 +21810,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-topic-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-topic-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21847,6 +21820,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-topic-logs.md", "auth": { "Project": [], "Key": [] @@ -21924,7 +21898,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-subscribers.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-subscribers.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21935,6 +21908,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-subscribers.md", "auth": { "Project": [], "Key": [] @@ -22021,7 +21995,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-subscriber.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-subscriber.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22034,6 +22007,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-subscriber.md", "auth": { "Project": [], "JWT": [] @@ -22114,7 +22088,6 @@ "cookies": false, "type": "", "demo": "messaging\/get-subscriber.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-subscriber.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22125,6 +22098,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-subscriber.md", "auth": { "Project": [], "Key": [] @@ -22179,7 +22153,6 @@ "cookies": false, "type": "", "demo": "messaging\/delete-subscriber.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-subscriber.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22192,6 +22165,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-subscriber.md", "auth": { "Project": [], "JWT": [] @@ -22257,7 +22231,6 @@ "cookies": false, "type": "", "demo": "sites\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all the project's sites. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22344,7 +22317,6 @@ "cookies": false, "type": "", "demo": "sites\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new site.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22599,7 +22571,6 @@ "cookies": false, "type": "", "demo": "sites\/list-frameworks.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all frameworks that are currently available on the server instance.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22651,7 +22622,6 @@ "cookies": false, "type": "", "demo": "sites\/list-specifications.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterList allowed site specifications for this instance.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22703,7 +22673,6 @@ "cookies": false, "type": "", "demo": "sites\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a site by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22765,7 +22734,6 @@ "cookies": false, "type": "", "demo": "sites\/update.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate site by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23016,7 +22984,6 @@ "cookies": false, "type": "", "demo": "sites\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a site by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23080,7 +23047,6 @@ "cookies": false, "type": "", "demo": "sites\/update-site-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate the site active deployment. Use this endpoint to switch the code deployment that should be used when visitor opens your site.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23163,7 +23129,6 @@ "cookies": false, "type": "", "demo": "sites\/list-deployments.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all the site's code deployments. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23260,7 +23225,6 @@ "cookies": false, "type": "upload", "demo": "sites\/create-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new site code deployment. Use this endpoint to upload a new version of your site code. To activate your newly uploaded code, you'll need to update the site's deployment to use your new deployment ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23367,7 +23331,6 @@ "cookies": false, "type": "", "demo": "sites\/create-duplicate-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new build for an existing site deployment. This endpoint allows you to rebuild a deployment with the updated site configuration, including its commands and output directory if they have been modified. The build process will be queued and executed asynchronously. The original deployment's code will be preserved and used for the new build.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23450,7 +23413,6 @@ "cookies": false, "type": "", "demo": "sites\/create-template-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a deployment based on a template.\n\nUse this endpoint with combination of [listTemplates](https:\/\/appwrite.io\/docs\/products\/sites\/templates) to find the template details.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23569,7 +23531,6 @@ "cookies": false, "type": "", "demo": "sites\/create-vcs-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a deployment when a site is connected to VCS.\n\nThis endpoint lets you create deployment from a branch, commit, or a tag.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23670,7 +23631,6 @@ "cookies": false, "type": "", "demo": "sites\/get-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a site deployment by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23735,7 +23695,6 @@ "cookies": false, "type": "", "demo": "sites\/delete-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a site deployment by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23802,7 +23761,6 @@ "cookies": false, "type": "location", "demo": "sites\/get-deployment-download.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a site deployment content by its unique ID. The endpoint response return with a 'Content-Disposition: attachment' header that tells the browser to start downloading the file to user downloads directory.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23895,7 +23853,6 @@ "cookies": false, "type": "", "demo": "sites\/update-deployment-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCancel an ongoing site deployment build. If the build is already in progress, it will be stopped and marked as canceled. If the build hasn't started yet, it will be marked as canceled without executing. You cannot cancel builds that have already completed (status 'ready') or failed. The response includes the final build status and details.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23969,7 +23926,6 @@ "cookies": false, "type": "", "demo": "sites\/list-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all site logs. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24057,7 +24013,6 @@ "cookies": false, "type": "", "demo": "sites\/get-log.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a site request log by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24122,7 +24077,6 @@ "cookies": false, "type": "", "demo": "sites\/delete-log.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a site log by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24196,7 +24150,6 @@ "cookies": false, "type": "", "demo": "sites\/list-variables.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all variables of a specific site.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24258,7 +24211,6 @@ "cookies": false, "type": "", "demo": "sites\/create-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new site variable. These variables can be accessed during build and runtime (server-side rendering) as environment variables.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24352,7 +24304,6 @@ "cookies": false, "type": "", "demo": "sites\/get-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a variable by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24424,7 +24375,6 @@ "cookies": false, "type": "", "demo": "sites\/update-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate variable by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24520,7 +24470,6 @@ "cookies": false, "type": "", "demo": "sites\/delete-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a variable by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24594,7 +24543,6 @@ "cookies": false, "type": "", "demo": "storage\/list-buckets.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-buckets.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24605,6 +24553,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-buckets.md", "auth": { "Project": [], "Key": [] @@ -24681,7 +24630,6 @@ "cookies": false, "type": "", "demo": "storage\/create-bucket.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-bucket.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24692,6 +24640,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-bucket.md", "auth": { "Project": [], "Key": [] @@ -24817,7 +24766,6 @@ "cookies": false, "type": "", "demo": "storage\/get-bucket.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-bucket.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24828,6 +24776,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-bucket.md", "auth": { "Project": [], "Key": [] @@ -24879,7 +24828,6 @@ "cookies": false, "type": "", "demo": "storage\/update-bucket.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/update-bucket.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24890,6 +24838,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/update-bucket.md", "auth": { "Project": [], "Key": [] @@ -25012,7 +24961,6 @@ "cookies": false, "type": "", "demo": "storage\/delete-bucket.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/delete-bucket.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25023,6 +24971,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/delete-bucket.md", "auth": { "Project": [], "Key": [] @@ -25076,7 +25025,6 @@ "cookies": false, "type": "", "demo": "storage\/list-files.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-files.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25089,6 +25037,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-files.md", "auth": { "Project": [], "Session": [] @@ -25177,7 +25126,6 @@ "cookies": false, "type": "upload", "demo": "storage\/create-file.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-file.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId},chunkId:{chunkId}", @@ -25190,6 +25138,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-file.md", "auth": { "Project": [], "Session": [] @@ -25280,7 +25229,6 @@ "cookies": false, "type": "", "demo": "storage\/get-file.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25293,6 +25241,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file.md", "auth": { "Project": [], "Session": [] @@ -25356,7 +25305,6 @@ "cookies": false, "type": "", "demo": "storage\/update-file.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/update-file.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -25369,6 +25317,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/update-file.md", "auth": { "Project": [], "Session": [] @@ -25451,7 +25400,6 @@ "cookies": false, "type": "", "demo": "storage\/delete-file.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/delete-file.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -25464,6 +25412,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/delete-file.md", "auth": { "Project": [], "Session": [] @@ -25522,7 +25471,6 @@ "cookies": false, "type": "location", "demo": "storage\/get-file-download.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-download.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25535,6 +25483,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-download.md", "auth": { "Project": [], "Session": [] @@ -25604,7 +25553,6 @@ "cookies": false, "type": "location", "demo": "storage\/get-file-preview.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-preview.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25617,6 +25565,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-preview.md", "auth": { "Project": [], "Session": [] @@ -25836,7 +25785,6 @@ "cookies": false, "type": "location", "demo": "storage\/get-file-view.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-view.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25849,6 +25797,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-view.md", "auth": { "Project": [], "Session": [] @@ -25925,7 +25874,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25936,6 +25884,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list.md", "auth": { "Project": [], "Key": [] @@ -26012,7 +25961,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26023,6 +25971,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create.md", "auth": { "Project": [], "Key": [] @@ -26094,7 +26043,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-transactions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-transactions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26110,6 +26058,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-transactions.md", "auth": { "Project": [], "Key": [] @@ -26166,7 +26115,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26182,6 +26130,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-transaction.md", "auth": { "Project": [], "Key": [] @@ -26241,7 +26190,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26257,6 +26205,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-transaction.md", "auth": { "Project": [], "Key": [] @@ -26310,7 +26259,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26326,6 +26274,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-transaction.md", "auth": { "Project": [], "Key": [] @@ -26393,7 +26342,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26409,6 +26357,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-transaction.md", "auth": { "Project": [], "Key": [] @@ -26464,7 +26413,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-operations.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-operations.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26480,6 +26428,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-operations.md", "auth": { "Project": [], "Key": [] @@ -26554,7 +26503,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26565,6 +26513,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get.md", "auth": { "Project": [], "Key": [] @@ -26616,7 +26565,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26627,6 +26575,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update.md", "auth": { "Project": [], "Key": [] @@ -26695,7 +26644,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26706,6 +26654,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete.md", "auth": { "Project": [], "Key": [] @@ -26759,7 +26708,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-tables.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-tables.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26773,6 +26721,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-tables.md", "auth": { "Project": [], "Key": [] @@ -26859,7 +26808,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-table.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-table.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26873,6 +26821,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-table.md", "auth": { "Project": [], "Key": [] @@ -26986,7 +26935,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-table.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-table.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27000,6 +26948,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-table.md", "auth": { "Project": [], "Key": [] @@ -27061,7 +27010,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-table.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-table.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27075,6 +27023,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-table.md", "auth": { "Project": [], "Key": [] @@ -27167,7 +27116,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-table.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-table.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27181,6 +27129,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-table.md", "auth": { "Project": [], "Key": [] @@ -27244,7 +27193,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-columns.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-columns.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27258,6 +27206,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-columns.md", "auth": { "Project": [], "Key": [] @@ -27345,7 +27294,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-boolean-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-boolean-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27359,6 +27307,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-boolean-column.md", "auth": { "Project": [], "Key": [] @@ -27458,7 +27407,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-boolean-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-boolean-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27472,6 +27420,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-boolean-column.md", "auth": { "Project": [], "Key": [] @@ -27576,7 +27525,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-datetime-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-datetime-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27590,6 +27538,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-datetime-column.md", "auth": { "Project": [], "Key": [] @@ -27689,7 +27638,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-datetime-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-datetime-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27703,6 +27651,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-datetime-column.md", "auth": { "Project": [], "Key": [] @@ -27807,7 +27756,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-email-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-email-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27821,6 +27769,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-email-column.md", "auth": { "Project": [], "Key": [] @@ -27920,7 +27869,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-email-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-email-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27934,6 +27882,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-email-column.md", "auth": { "Project": [], "Key": [] @@ -28038,7 +27987,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-enum-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-enum-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28052,6 +28000,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-enum-column.md", "auth": { "Project": [], "Key": [] @@ -28160,7 +28109,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-enum-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-enum-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28174,6 +28122,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-enum-column.md", "auth": { "Project": [], "Key": [] @@ -28287,7 +28236,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-float-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-float-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28301,6 +28249,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-float-column.md", "auth": { "Project": [], "Key": [] @@ -28412,7 +28361,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-float-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-float-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28426,6 +28374,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-float-column.md", "auth": { "Project": [], "Key": [] @@ -28542,7 +28491,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-integer-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-integer-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28556,6 +28504,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-integer-column.md", "auth": { "Project": [], "Key": [] @@ -28667,7 +28616,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-integer-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-integer-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28681,6 +28629,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-integer-column.md", "auth": { "Project": [], "Key": [] @@ -28797,7 +28746,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-ip-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-ip-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28811,6 +28759,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-ip-column.md", "auth": { "Project": [], "Key": [] @@ -28910,7 +28859,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-ip-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-ip-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28924,6 +28872,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-ip-column.md", "auth": { "Project": [], "Key": [] @@ -29028,7 +28977,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-line-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-line-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -29042,6 +28990,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-line-column.md", "auth": { "Project": [], "Key": [] @@ -29143,7 +29092,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-line-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-line-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -29157,6 +29105,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-line-column.md", "auth": { "Project": [], "Key": [] @@ -29267,7 +29216,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-point-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-point-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -29281,6 +29229,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-point-column.md", "auth": { "Project": [], "Key": [] @@ -29382,7 +29331,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-point-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-point-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -29396,6 +29344,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-point-column.md", "auth": { "Project": [], "Key": [] @@ -29506,7 +29455,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-polygon-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-polygon-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -29520,6 +29468,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-polygon-column.md", "auth": { "Project": [], "Key": [] @@ -29621,7 +29570,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-polygon-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-polygon-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -29635,6 +29583,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-polygon-column.md", "auth": { "Project": [], "Key": [] @@ -29745,7 +29694,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-relationship-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-relationship-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -29759,6 +29707,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-relationship-column.md", "auth": { "Project": [], "Key": [] @@ -29884,7 +29833,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-string-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-string-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -29898,6 +29846,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-string-column.md", "auth": { "Project": [], "Key": [] @@ -30008,7 +29957,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-string-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-string-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30022,6 +29970,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-string-column.md", "auth": { "Project": [], "Key": [] @@ -30132,7 +30081,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-url-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-url-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30146,6 +30094,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-url-column.md", "auth": { "Project": [], "Key": [] @@ -30245,7 +30194,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-url-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-url-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30259,6 +30207,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-url-column.md", "auth": { "Project": [], "Key": [] @@ -30394,7 +30343,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30408,6 +30356,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-column.md", "auth": { "Project": [], "Key": [] @@ -30471,7 +30420,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30485,6 +30433,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-column.md", "auth": { "Project": [], "Key": [] @@ -30557,7 +30506,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-relationship-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-relationship-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30571,6 +30519,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-relationship-column.md", "auth": { "Project": [], "Key": [] @@ -30673,7 +30622,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-indexes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-indexes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30687,6 +30635,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-indexes.md", "auth": { "Project": [], "Key": [] @@ -30772,7 +30721,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-index.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30786,6 +30734,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-index.md", "auth": { "Project": [], "Key": [] @@ -30913,7 +30862,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-index.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30927,6 +30875,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-index.md", "auth": { "Project": [], "Key": [] @@ -30990,7 +30939,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-index.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -31004,6 +30952,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-index.md", "auth": { "Project": [], "Key": [] @@ -31076,7 +31025,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-rows.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-rows.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -31092,6 +31040,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-rows.md", "auth": { "Project": [], "Session": [] @@ -31189,7 +31138,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-row.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -31205,6 +31153,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-row.md", "methods": [ { "name": "createRow", @@ -31375,7 +31324,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/upsert-rows.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/upsert-rows.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -31389,6 +31337,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/upsert-rows.md", "methods": [ { "name": "upsertRows", @@ -31509,7 +31458,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-rows.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-rows.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -31523,6 +31471,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-rows.md", "auth": { "Project": [], "Key": [] @@ -31614,7 +31563,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-rows.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-rows.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -31628,6 +31576,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-rows.md", "auth": { "Project": [], "Key": [] @@ -31716,7 +31665,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-row.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -31732,6 +31680,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-row.md", "auth": { "Project": [], "Session": [] @@ -31828,7 +31777,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/upsert-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/upsert-row.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -31844,6 +31792,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/upsert-row.md", "methods": [ { "name": "upsertRow", @@ -31981,7 +31930,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-row.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -31997,6 +31945,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-row.md", "auth": { "Project": [], "Session": [] @@ -32094,7 +32043,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-row.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -32110,6 +32058,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-row.md", "auth": { "Project": [], "Session": [] @@ -32202,7 +32151,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/decrement-row-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/decrement-row-column.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -32218,6 +32166,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/decrement-row-column.md", "auth": { "Project": [], "Session": [] @@ -32330,7 +32279,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/increment-row-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/increment-row-column.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -32346,6 +32294,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/increment-row-column.md", "auth": { "Project": [], "Session": [] @@ -32458,7 +32407,6 @@ "cookies": false, "type": "", "demo": "teams\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-teams.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32471,6 +32419,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-teams.md", "auth": { "Project": [], "Session": [] @@ -32549,7 +32498,6 @@ "cookies": false, "type": "", "demo": "teams\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32562,6 +32510,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team.md", "auth": { "Project": [], "Session": [] @@ -32638,7 +32587,6 @@ "cookies": false, "type": "", "demo": "teams\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32651,6 +32599,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team.md", "auth": { "Project": [], "Session": [] @@ -32704,7 +32653,6 @@ "cookies": false, "type": "", "demo": "teams\/update-name.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-name.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32717,6 +32665,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-name.md", "auth": { "Project": [], "Session": [] @@ -32782,7 +32731,6 @@ "cookies": false, "type": "", "demo": "teams\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32795,6 +32743,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team.md", "auth": { "Project": [], "Session": [] @@ -32850,7 +32799,6 @@ "cookies": false, "type": "", "demo": "teams\/list-memberships.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-team-members.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32863,6 +32811,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-team-members.md", "auth": { "Project": [], "Session": [] @@ -32951,7 +32900,6 @@ "cookies": false, "type": "", "demo": "teams\/create-membership.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team-membership.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32964,6 +32912,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team-membership.md", "auth": { "Project": [], "Session": [] @@ -33073,7 +33022,6 @@ "cookies": false, "type": "", "demo": "teams\/get-membership.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-member.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33086,6 +33034,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-member.md", "auth": { "Project": [], "Session": [] @@ -33149,7 +33098,6 @@ "cookies": false, "type": "", "demo": "teams\/update-membership.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33162,6 +33110,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership.md", "auth": { "Project": [], "Session": [] @@ -33247,7 +33196,6 @@ "cookies": false, "type": "", "demo": "teams\/delete-membership.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team-membership.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33260,6 +33208,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team-membership.md", "auth": { "Project": [], "Session": [] @@ -33325,7 +33274,6 @@ "cookies": false, "type": "", "demo": "teams\/update-membership-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33337,6 +33285,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership-status.md", "auth": { "Project": [], "Session": [] @@ -33426,7 +33375,6 @@ "cookies": false, "type": "", "demo": "teams\/get-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33438,6 +33386,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-prefs.md", "auth": { "Project": [], "Session": [] @@ -33490,7 +33439,6 @@ "cookies": false, "type": "", "demo": "teams\/update-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33502,6 +33450,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-prefs.md", "auth": { "Project": [], "Session": [] @@ -33575,7 +33524,6 @@ "cookies": false, "type": "", "demo": "tokens\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterList all the tokens created for a specific file or bucket. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33671,7 +33619,6 @@ "cookies": false, "type": "", "demo": "tokens\/create-file-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new token. A token is linked to a file. Token can be passed as a request URL search parameter.", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -33762,7 +33709,6 @@ "cookies": false, "type": "", "demo": "tokens\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a token by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33824,7 +33770,6 @@ "cookies": false, "type": "", "demo": "tokens\/update.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate a token by its unique ID. Use this endpoint to update a token's expiry date.", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -33896,7 +33841,6 @@ "cookies": false, "type": "", "demo": "tokens\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a token by its unique ID.", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -33960,7 +33904,6 @@ "cookies": false, "type": "", "demo": "users\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-users.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33971,6 +33914,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-users.md", "auth": { "Project": [], "Key": [] @@ -34047,7 +33991,6 @@ "cookies": false, "type": "", "demo": "users\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34058,6 +34001,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-user.md", "auth": { "Project": [], "Key": [] @@ -34140,7 +34084,6 @@ "cookies": false, "type": "", "demo": "users\/create-argon-2-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-argon2-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34151,6 +34094,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-argon2-user.md", "auth": { "Project": [], "Key": [] @@ -34228,7 +34172,6 @@ "cookies": false, "type": "", "demo": "users\/create-bcrypt-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-bcrypt-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34239,6 +34182,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-bcrypt-user.md", "auth": { "Project": [], "Key": [] @@ -34316,7 +34260,6 @@ "cookies": false, "type": "", "demo": "users\/list-identities.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-identities.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34327,6 +34270,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-identities.md", "auth": { "Project": [], "Key": [] @@ -34398,7 +34342,6 @@ "cookies": false, "type": "", "demo": "users\/delete-identity.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-identity.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34409,6 +34352,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-identity.md", "auth": { "Project": [], "Key": [] @@ -34462,7 +34406,6 @@ "cookies": false, "type": "", "demo": "users\/create-md-5-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-md5-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34473,6 +34416,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-md5-user.md", "auth": { "Project": [], "Key": [] @@ -34550,7 +34494,6 @@ "cookies": false, "type": "", "demo": "users\/create-ph-pass-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-phpass-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34561,6 +34504,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-phpass-user.md", "auth": { "Project": [], "Key": [] @@ -34638,7 +34582,6 @@ "cookies": false, "type": "", "demo": "users\/create-scrypt-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-scrypt-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34649,6 +34592,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-scrypt-user.md", "auth": { "Project": [], "Key": [] @@ -34756,7 +34700,6 @@ "cookies": false, "type": "", "demo": "users\/create-scrypt-modified-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-scrypt-modified-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34767,6 +34710,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-scrypt-modified-user.md", "auth": { "Project": [], "Key": [] @@ -34862,7 +34806,6 @@ "cookies": false, "type": "", "demo": "users\/create-sha-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-sha-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34873,6 +34816,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-sha-user.md", "auth": { "Project": [], "Key": [] @@ -34970,7 +34914,6 @@ "cookies": false, "type": "", "demo": "users\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34981,6 +34924,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user.md", "auth": { "Project": [], "Key": [] @@ -35025,7 +34969,6 @@ "cookies": false, "type": "", "demo": "users\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35036,6 +34979,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete.md", "auth": { "Project": [], "Key": [] @@ -35089,7 +35033,6 @@ "cookies": false, "type": "", "demo": "users\/update-email.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-email.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35100,6 +35043,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-email.md", "auth": { "Project": [], "Key": [] @@ -35172,7 +35116,6 @@ "cookies": false, "type": "", "demo": "users\/create-jwt.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-user-jwt.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35183,6 +35126,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-user-jwt.md", "auth": { "Project": [], "Key": [] @@ -35257,7 +35201,6 @@ "cookies": false, "type": "", "demo": "users\/update-labels.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-labels.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35268,6 +35211,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-labels.md", "auth": { "Project": [], "Key": [] @@ -35343,7 +35287,6 @@ "cookies": false, "type": "", "demo": "users\/list-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35354,6 +35297,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-logs.md", "auth": { "Project": [], "Key": [] @@ -35431,7 +35375,6 @@ "cookies": false, "type": "", "demo": "users\/list-memberships.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-memberships.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35442,6 +35385,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-memberships.md", "auth": { "Project": [], "Key": [] @@ -35530,7 +35474,6 @@ "cookies": false, "type": "", "demo": "users\/update-mfa.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-mfa.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35541,6 +35484,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-mfa.md", "deprecated": { "since": "1.8.0", "replaceWith": "users.updateMFA" @@ -35668,7 +35612,6 @@ "cookies": false, "type": "", "demo": "users\/delete-mfa-authenticator.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-mfa-authenticator.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35679,6 +35622,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-mfa-authenticator.md", "deprecated": { "since": "1.8.0", "replaceWith": "users.deleteMFAAuthenticator" @@ -35807,7 +35751,6 @@ "cookies": false, "type": "", "demo": "users\/list-mfa-factors.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-mfa-factors.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35818,6 +35761,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-mfa-factors.md", "deprecated": { "since": "1.8.0", "replaceWith": "users.listMFAFactors" @@ -35929,7 +35873,6 @@ "cookies": false, "type": "", "demo": "users\/get-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35940,6 +35883,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "users.getMFARecoveryCodes" @@ -36049,7 +35993,6 @@ "cookies": false, "type": "", "demo": "users\/update-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36060,6 +36003,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "users.updateMFARecoveryCodes" @@ -36169,7 +36113,6 @@ "cookies": false, "type": "", "demo": "users\/create-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36180,6 +36123,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "users.createMFARecoveryCodes" @@ -36291,7 +36235,6 @@ "cookies": false, "type": "", "demo": "users\/update-name.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-name.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36302,6 +36245,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-name.md", "auth": { "Project": [], "Key": [] @@ -36374,7 +36318,6 @@ "cookies": false, "type": "", "demo": "users\/update-password.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-password.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36385,6 +36328,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-password.md", "auth": { "Project": [], "Key": [] @@ -36457,7 +36401,6 @@ "cookies": false, "type": "", "demo": "users\/update-phone.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-phone.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36468,6 +36411,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-phone.md", "auth": { "Project": [], "Key": [] @@ -36540,7 +36484,6 @@ "cookies": false, "type": "", "demo": "users\/get-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36551,6 +36494,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user-prefs.md", "auth": { "Project": [], "Key": [] @@ -36602,7 +36546,6 @@ "cookies": false, "type": "", "demo": "users\/update-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36613,6 +36556,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-prefs.md", "auth": { "Project": [], "Key": [] @@ -36685,7 +36629,6 @@ "cookies": false, "type": "", "demo": "users\/list-sessions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-sessions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36696,6 +36639,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-sessions.md", "auth": { "Project": [], "Key": [] @@ -36758,7 +36702,6 @@ "cookies": false, "type": "", "demo": "users\/create-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-session.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36769,6 +36712,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-session.md", "auth": { "Project": [], "Key": [] @@ -36813,7 +36757,6 @@ "cookies": false, "type": "", "demo": "users\/delete-sessions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-user-sessions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36824,6 +36767,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-user-sessions.md", "auth": { "Project": [], "Key": [] @@ -36870,7 +36814,6 @@ "cookies": false, "type": "", "demo": "users\/delete-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-user-session.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36881,6 +36824,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-user-session.md", "auth": { "Project": [], "Key": [] @@ -36944,7 +36888,6 @@ "cookies": false, "type": "", "demo": "users\/update-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36955,6 +36898,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-status.md", "auth": { "Project": [], "Key": [] @@ -37027,7 +36971,6 @@ "cookies": false, "type": "", "demo": "users\/list-targets.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-targets.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37038,6 +36981,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-targets.md", "auth": { "Project": [], "Key": [] @@ -37113,7 +37057,6 @@ "cookies": false, "type": "", "demo": "users\/create-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37124,6 +37067,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-target.md", "auth": { "Project": [], "Key": [] @@ -37225,7 +37169,6 @@ "cookies": false, "type": "", "demo": "users\/get-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37236,6 +37179,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user-target.md", "auth": { "Project": [], "Key": [] @@ -37297,7 +37241,6 @@ "cookies": false, "type": "", "demo": "users\/update-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37308,6 +37251,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-target.md", "auth": { "Project": [], "Key": [] @@ -37388,7 +37332,6 @@ "cookies": false, "type": "", "demo": "users\/delete-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37399,6 +37342,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-target.md", "auth": { "Project": [], "Key": [] @@ -37462,7 +37406,6 @@ "cookies": false, "type": "", "demo": "users\/create-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-token.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37473,6 +37416,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-token.md", "auth": { "Project": [], "Key": [] @@ -37547,7 +37491,6 @@ "cookies": false, "type": "", "demo": "users\/update-email-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-email-verification.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37558,6 +37501,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-email-verification.md", "auth": { "Project": [], "Key": [] @@ -37630,7 +37574,6 @@ "cookies": false, "type": "", "demo": "users\/update-phone-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-phone-verification.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37641,6 +37584,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-phone-verification.md", "auth": { "Project": [], "Key": [] diff --git a/app/config/specs/open-api3-latest-client.json b/app/config/specs/open-api3-latest-client.json index 127eab321a..ce119a5b2c 100644 --- a/app/config/specs/open-api3-latest-client.json +++ b/app/config/specs/open-api3-latest-client.json @@ -52,7 +52,6 @@ "cookies": false, "type": "", "demo": "account\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -64,6 +63,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get.md", "auth": { "Project": [] } @@ -103,7 +103,6 @@ "cookies": false, "type": "", "demo": "account\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -115,6 +114,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create.md", "auth": { "Project": [] } @@ -192,7 +192,6 @@ "cookies": false, "type": "", "demo": "account\/update-email.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-email.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -204,6 +203,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-email.md", "auth": { "Project": [] } @@ -270,7 +270,6 @@ "cookies": false, "type": "", "demo": "account\/list-identities.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-identities.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -282,6 +281,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-identities.md", "auth": { "Project": [] } @@ -342,7 +342,6 @@ "cookies": false, "type": "", "demo": "account\/delete-identity.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-identity.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -354,6 +353,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-identity.md", "auth": { "Project": [] } @@ -407,7 +407,6 @@ "cookies": false, "type": "", "demo": "account\/create-jwt.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-jwt.md", "rate-limit": 100, "rate-time": 3600, "rate-key": "url:{url},userId:{userId}", @@ -419,6 +418,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-jwt.md", "auth": { "Project": [] } @@ -460,7 +460,6 @@ "cookies": false, "type": "", "demo": "account\/list-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -472,6 +471,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-logs.md", "auth": { "Project": [] } @@ -539,7 +539,6 @@ "cookies": false, "type": "", "demo": "account\/update-mfa.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -551,6 +550,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa.md", "auth": { "Project": [] } @@ -611,7 +611,6 @@ "cookies": false, "type": "", "demo": "account\/create-mfa-authenticator.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-authenticator.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -623,6 +622,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-authenticator.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.createMFAAuthenticator" @@ -735,7 +735,6 @@ "cookies": false, "type": "", "demo": "account\/update-mfa-authenticator.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-authenticator.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -747,6 +746,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-authenticator.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.updateMFAAuthenticator" @@ -875,7 +875,6 @@ "cookies": false, "type": "", "demo": "account\/delete-mfa-authenticator.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-mfa-authenticator.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -887,6 +886,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-mfa-authenticator.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.deleteMFAAuthenticator" @@ -999,7 +999,6 @@ "cookies": false, "type": "", "demo": "account\/create-mfa-challenge.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-challenge.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},userId:{userId}", @@ -1011,6 +1010,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-challenge.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.createMFAChallenge" @@ -1133,7 +1133,6 @@ "cookies": false, "type": "", "demo": "account\/update-mfa-challenge.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-challenge.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},challengeId:{param-challengeId}", @@ -1145,6 +1144,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-challenge.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.updateMFAChallenge" @@ -1271,7 +1271,6 @@ "cookies": false, "type": "", "demo": "account\/list-mfa-factors.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-mfa-factors.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1283,6 +1282,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-mfa-factors.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.listMFAFactors" @@ -1372,7 +1372,6 @@ "cookies": false, "type": "", "demo": "account\/get-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1384,6 +1383,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.getMFARecoveryCodes" @@ -1471,7 +1471,6 @@ "cookies": false, "type": "", "demo": "account\/create-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1483,6 +1482,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.createMFARecoveryCodes" @@ -1570,7 +1570,6 @@ "cookies": false, "type": "", "demo": "account\/update-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1582,6 +1581,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.updateMFARecoveryCodes" @@ -1671,7 +1671,6 @@ "cookies": false, "type": "", "demo": "account\/update-name.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-name.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1683,6 +1682,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-name.md", "auth": { "Project": [] } @@ -1743,7 +1743,6 @@ "cookies": false, "type": "", "demo": "account\/update-password.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-password.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1755,6 +1754,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-password.md", "auth": { "Project": [] } @@ -1820,7 +1820,6 @@ "cookies": false, "type": "", "demo": "account\/update-phone.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-phone.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1832,6 +1831,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-phone.md", "auth": { "Project": [] } @@ -1898,7 +1898,6 @@ "cookies": false, "type": "", "demo": "account\/get-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1910,6 +1909,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-prefs.md", "auth": { "Project": [] } @@ -1949,7 +1949,6 @@ "cookies": false, "type": "", "demo": "account\/update-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1961,6 +1960,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-prefs.md", "auth": { "Project": [] } @@ -2021,7 +2021,6 @@ "cookies": false, "type": "", "demo": "account\/create-recovery.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-recovery.md", "rate-limit": 10, "rate-time": 3600, "rate-key": [ @@ -2036,6 +2035,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-recovery.md", "auth": { "Project": [] } @@ -2100,7 +2100,6 @@ "cookies": false, "type": "", "demo": "account\/update-recovery.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-recovery.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},userId:{param-userId}", @@ -2112,6 +2111,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-recovery.md", "auth": { "Project": [] } @@ -2184,7 +2184,6 @@ "cookies": false, "type": "", "demo": "account\/list-sessions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-sessions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2196,6 +2195,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-sessions.md", "auth": { "Project": [] } @@ -2228,7 +2228,6 @@ "cookies": false, "type": "", "demo": "account\/delete-sessions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-sessions.md", "rate-limit": 100, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2240,6 +2239,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-sessions.md", "auth": { "Project": [] } @@ -2281,7 +2281,6 @@ "cookies": false, "type": "", "demo": "account\/create-anonymous-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-anonymous.md", "rate-limit": 50, "rate-time": 3600, "rate-key": "ip:{ip}", @@ -2293,6 +2292,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-anonymous.md", "auth": { "Project": [] } @@ -2334,7 +2334,6 @@ "cookies": false, "type": "", "demo": "account\/create-email-password-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-email-password.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},email:{param-email}", @@ -2346,6 +2345,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-email-password.md", "auth": { "Project": [] } @@ -2412,7 +2412,6 @@ "cookies": false, "type": "", "demo": "account\/update-magic-url-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "ip:{ip},userId:{param-userId}", @@ -2424,6 +2423,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "deprecated": { "since": "1.6.0", "replaceWith": "account.createSession" @@ -2487,7 +2487,6 @@ "cookies": false, "type": "webAuth", "demo": "account\/create-o-auth-2-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-oauth2.md", "rate-limit": 50, "rate-time": 3600, "rate-key": "ip:{ip}", @@ -2499,6 +2498,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-oauth2.md", "auth": { "Project": [] } @@ -2633,7 +2633,6 @@ "cookies": false, "type": "", "demo": "account\/update-phone-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "ip:{ip},userId:{param-userId}", @@ -2645,6 +2644,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "deprecated": { "since": "1.6.0", "replaceWith": "account.createSession" @@ -2715,7 +2715,6 @@ "cookies": false, "type": "", "demo": "account\/create-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "ip:{ip},userId:{param-userId}", @@ -2727,6 +2726,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "auth": { "Project": [] } @@ -2793,7 +2793,6 @@ "cookies": false, "type": "", "demo": "account\/get-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-session.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2805,6 +2804,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-session.md", "auth": { "Project": [] } @@ -2856,7 +2856,6 @@ "cookies": false, "type": "", "demo": "account\/update-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-session.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2868,6 +2867,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-session.md", "auth": { "Project": [] } @@ -2912,7 +2912,6 @@ "cookies": false, "type": "", "demo": "account\/delete-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-session.md", "rate-limit": 100, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2924,6 +2923,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-session.md", "auth": { "Project": [] } @@ -2977,7 +2977,6 @@ "cookies": false, "type": "", "demo": "account\/update-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2989,6 +2988,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-status.md", "auth": { "Project": [] } @@ -3030,7 +3030,6 @@ "cookies": false, "type": "", "demo": "account\/create-push-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-push-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -3041,6 +3040,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-push-target.md", "auth": { "Project": [] } @@ -3111,7 +3111,6 @@ "cookies": false, "type": "", "demo": "account\/update-push-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-push-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -3122,6 +3121,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-push-target.md", "auth": { "Project": [] } @@ -3184,7 +3184,6 @@ "cookies": false, "type": "", "demo": "account\/delete-push-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-push-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -3195,6 +3194,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-push-target.md", "auth": { "Project": [] } @@ -3247,7 +3247,6 @@ "cookies": false, "type": "", "demo": "account\/create-email-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-email.md", "rate-limit": 10, "rate-time": 3600, "rate-key": [ @@ -3262,6 +3261,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-email.md", "auth": { "Project": [] } @@ -3333,7 +3333,6 @@ "cookies": false, "type": "", "demo": "account\/create-magic-url-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-magic-url.md", "rate-limit": 60, "rate-time": 3600, "rate-key": [ @@ -3348,6 +3347,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-magic-url.md", "auth": { "Project": [] } @@ -3417,7 +3417,6 @@ "cookies": false, "type": "webAuth", "demo": "account\/create-o-auth-2-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-oauth2.md", "rate-limit": 50, "rate-time": 3600, "rate-key": "ip:{ip}", @@ -3429,6 +3428,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-oauth2.md", "auth": { "Project": [] } @@ -3563,7 +3563,6 @@ "cookies": false, "type": "", "demo": "account\/create-phone-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-phone.md", "rate-limit": 10, "rate-time": 3600, "rate-key": [ @@ -3578,6 +3577,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-phone.md", "auth": { "Project": [] } @@ -3644,7 +3644,6 @@ "cookies": false, "type": "", "demo": "account\/create-email-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-email-verification.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},userId:{userId}", @@ -3656,6 +3655,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-email-verification.md", "methods": [ { "name": "createEmailVerification", @@ -3766,7 +3766,6 @@ "cookies": false, "type": "", "demo": "account\/update-email-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-email-verification.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},userId:{param-userId}", @@ -3778,6 +3777,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-email-verification.md", "methods": [ { "name": "updateEmailVerification", @@ -3900,7 +3900,6 @@ "cookies": false, "type": "", "demo": "account\/create-phone-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-phone-verification.md", "rate-limit": 10, "rate-time": 3600, "rate-key": [ @@ -3915,6 +3914,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-phone-verification.md", "auth": { "Project": [] } @@ -3954,7 +3954,6 @@ "cookies": false, "type": "", "demo": "account\/update-phone-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-phone-verification.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "userId:{param-userId}", @@ -3966,6 +3965,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-phone-verification.md", "auth": { "Project": [] } @@ -4025,7 +4025,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-browser.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-browser.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4038,6 +4037,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-browser.md", "auth": { "Project": [] } @@ -4153,7 +4153,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-credit-card.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-credit-card.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4166,6 +4165,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-credit-card.md", "auth": { "Project": [] } @@ -4287,7 +4287,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-favicon.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-favicon.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4300,6 +4299,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-favicon.md", "auth": { "Project": [] } @@ -4347,7 +4347,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-flag.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-flag.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4360,6 +4359,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-flag.md", "auth": { "Project": [] } @@ -4837,7 +4837,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-image.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-image.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4850,6 +4849,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-image.md", "auth": { "Project": [] } @@ -4921,7 +4921,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-initials.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-initials.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4934,6 +4933,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-initials.md", "auth": { "Project": [] } @@ -5015,7 +5015,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-qr.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-qr.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -5028,6 +5027,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-qr.md", "auth": { "Project": [] } @@ -5109,7 +5109,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-screenshot.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-screenshot.md", "rate-limit": 60, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -5122,6 +5121,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-screenshot.md", "auth": { "Project": [] } @@ -5862,7 +5862,6 @@ "cookies": false, "type": "", "demo": "databases\/list-transactions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-transactions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -5875,6 +5874,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-transactions.md", "auth": { "Project": [] } @@ -5929,7 +5929,6 @@ "cookies": false, "type": "", "demo": "databases\/create-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -5942,6 +5941,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-transaction.md", "auth": { "Project": [] } @@ -5999,7 +5999,6 @@ "cookies": false, "type": "", "demo": "databases\/get-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6012,6 +6011,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-transaction.md", "auth": { "Project": [] } @@ -6063,7 +6063,6 @@ "cookies": false, "type": "", "demo": "databases\/update-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6076,6 +6075,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-transaction.md", "auth": { "Project": [] } @@ -6141,7 +6141,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6154,6 +6153,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-transaction.md", "auth": { "Project": [] } @@ -6207,7 +6207,6 @@ "cookies": false, "type": "", "demo": "databases\/create-operations.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-operations.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6220,6 +6219,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-operations.md", "auth": { "Project": [] } @@ -6292,7 +6292,6 @@ "cookies": false, "type": "", "demo": "databases\/list-documents.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-documents.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6305,6 +6304,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-documents.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.listRows" @@ -6404,7 +6404,6 @@ "cookies": false, "type": "", "demo": "databases\/create-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-document.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -6417,6 +6416,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createRow" @@ -6565,7 +6565,6 @@ "cookies": false, "type": "", "demo": "databases\/get-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-document.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6578,6 +6577,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.getRow" @@ -6676,7 +6676,6 @@ "cookies": false, "type": "", "demo": "databases\/upsert-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-document.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -6689,6 +6688,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.upsertRow" @@ -6835,7 +6835,6 @@ "cookies": false, "type": "", "demo": "databases\/update-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-document.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -6848,6 +6847,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateRow" @@ -6947,7 +6947,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-document.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -6960,6 +6959,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.deleteRow" @@ -7054,7 +7054,6 @@ "cookies": false, "type": "", "demo": "databases\/decrement-document-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/decrement-document-attribute.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -7067,6 +7066,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/decrement-document-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.decrementRowColumn" @@ -7181,7 +7181,6 @@ "cookies": false, "type": "", "demo": "databases\/increment-document-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/increment-document-attribute.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -7194,6 +7193,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/increment-document-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.incrementRowColumn" @@ -7308,7 +7308,6 @@ "cookies": false, "type": "", "demo": "functions\/list-executions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all the current user function execution logs. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7396,7 +7395,6 @@ "cookies": false, "type": "", "demo": "functions\/create-execution.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterTrigger a function execution. The returned object will return you the current execution status. You can ping the `Get Execution` endpoint to get updates on the current execution status. Once this endpoint is called, your function execution process will start asynchronously.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7515,7 +7513,6 @@ "cookies": false, "type": "", "demo": "functions\/get-execution.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a function execution log by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7591,7 +7588,6 @@ "cookies": false, "type": "graphql", "demo": "graphql\/query.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "rate-limit": 60, "rate-time": 60, "rate-key": "url:{url},ip:{ip}", @@ -7604,6 +7600,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "auth": { "Project": [] } @@ -7645,7 +7642,6 @@ "cookies": false, "type": "graphql", "demo": "graphql\/mutation.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "rate-limit": 60, "rate-time": 60, "rate-key": "url:{url},ip:{ip}", @@ -7658,6 +7654,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "auth": { "Project": [] } @@ -7699,7 +7696,6 @@ "cookies": false, "type": "", "demo": "locale\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/get-locale.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7712,6 +7708,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/get-locale.md", "auth": { "Project": [] } @@ -7753,7 +7750,6 @@ "cookies": false, "type": "", "demo": "locale\/list-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-locale-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7766,6 +7762,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-locale-codes.md", "auth": { "Project": [] } @@ -7807,7 +7804,6 @@ "cookies": false, "type": "", "demo": "locale\/list-continents.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-continents.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7820,6 +7816,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-continents.md", "auth": { "Project": [] } @@ -7861,7 +7858,6 @@ "cookies": false, "type": "", "demo": "locale\/list-countries.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7874,6 +7870,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries.md", "auth": { "Project": [] } @@ -7915,7 +7912,6 @@ "cookies": false, "type": "", "demo": "locale\/list-countries-eu.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-eu.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7928,6 +7924,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-eu.md", "auth": { "Project": [] } @@ -7969,7 +7966,6 @@ "cookies": false, "type": "", "demo": "locale\/list-countries-phones.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-phones.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7982,6 +7978,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-phones.md", "auth": { "Project": [] } @@ -8023,7 +8020,6 @@ "cookies": false, "type": "", "demo": "locale\/list-currencies.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-currencies.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8036,6 +8032,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-currencies.md", "auth": { "Project": [] } @@ -8077,7 +8074,6 @@ "cookies": false, "type": "", "demo": "locale\/list-languages.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-languages.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8090,6 +8086,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-languages.md", "auth": { "Project": [] } @@ -8131,7 +8128,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-subscriber.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-subscriber.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8144,6 +8140,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-subscriber.md", "auth": { "Project": [] } @@ -8215,7 +8212,6 @@ "cookies": false, "type": "", "demo": "messaging\/delete-subscriber.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-subscriber.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8228,6 +8224,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-subscriber.md", "auth": { "Project": [] } @@ -8291,7 +8288,6 @@ "cookies": false, "type": "", "demo": "storage\/list-files.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-files.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8304,6 +8300,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-files.md", "auth": { "Project": [] } @@ -8390,7 +8387,6 @@ "cookies": false, "type": "upload", "demo": "storage\/create-file.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-file.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId},chunkId:{chunkId}", @@ -8403,6 +8399,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-file.md", "auth": { "Project": [] } @@ -8491,7 +8488,6 @@ "cookies": false, "type": "", "demo": "storage\/get-file.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8504,6 +8500,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file.md", "auth": { "Project": [] } @@ -8565,7 +8562,6 @@ "cookies": false, "type": "", "demo": "storage\/update-file.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/update-file.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -8578,6 +8574,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/update-file.md", "auth": { "Project": [] } @@ -8658,7 +8655,6 @@ "cookies": false, "type": "", "demo": "storage\/delete-file.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/delete-file.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -8671,6 +8667,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/delete-file.md", "auth": { "Project": [] } @@ -8727,7 +8724,6 @@ "cookies": false, "type": "location", "demo": "storage\/get-file-download.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-download.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8740,6 +8736,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-download.md", "auth": { "Project": [] } @@ -8807,7 +8804,6 @@ "cookies": false, "type": "location", "demo": "storage\/get-file-preview.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-preview.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8820,6 +8816,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-preview.md", "auth": { "Project": [] } @@ -9037,7 +9034,6 @@ "cookies": false, "type": "location", "demo": "storage\/get-file-view.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-view.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9050,6 +9046,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-view.md", "auth": { "Project": [] } @@ -9124,7 +9121,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-transactions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-transactions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9140,6 +9136,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-transactions.md", "auth": { "Project": [] } @@ -9194,7 +9191,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9210,6 +9206,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-transaction.md", "auth": { "Project": [] } @@ -9267,7 +9264,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9283,6 +9279,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-transaction.md", "auth": { "Project": [] } @@ -9334,7 +9331,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9350,6 +9346,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-transaction.md", "auth": { "Project": [] } @@ -9415,7 +9412,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9431,6 +9427,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-transaction.md", "auth": { "Project": [] } @@ -9484,7 +9481,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-operations.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-operations.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9500,6 +9496,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-operations.md", "auth": { "Project": [] } @@ -9572,7 +9569,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-rows.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-rows.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9588,6 +9584,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-rows.md", "auth": { "Project": [] } @@ -9683,7 +9680,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-row.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -9699,6 +9695,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-row.md", "methods": [ { "name": "createRow", @@ -9839,7 +9836,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-row.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9855,6 +9851,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-row.md", "auth": { "Project": [] } @@ -9949,7 +9946,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/upsert-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/upsert-row.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -9965,6 +9961,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/upsert-row.md", "methods": [ { "name": "upsertRow", @@ -10099,7 +10096,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-row.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -10115,6 +10111,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-row.md", "auth": { "Project": [] } @@ -10210,7 +10207,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-row.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -10226,6 +10222,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-row.md", "auth": { "Project": [] } @@ -10316,7 +10313,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/decrement-row-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/decrement-row-column.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -10332,6 +10328,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/decrement-row-column.md", "auth": { "Project": [] } @@ -10442,7 +10439,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/increment-row-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/increment-row-column.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -10458,6 +10454,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/increment-row-column.md", "auth": { "Project": [] } @@ -10568,7 +10565,6 @@ "cookies": false, "type": "", "demo": "teams\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-teams.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10581,6 +10577,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-teams.md", "auth": { "Project": [] } @@ -10657,7 +10654,6 @@ "cookies": false, "type": "", "demo": "teams\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10670,6 +10666,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team.md", "auth": { "Project": [] } @@ -10744,7 +10741,6 @@ "cookies": false, "type": "", "demo": "teams\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10757,6 +10753,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team.md", "auth": { "Project": [] } @@ -10808,7 +10805,6 @@ "cookies": false, "type": "", "demo": "teams\/update-name.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-name.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10821,6 +10817,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-name.md", "auth": { "Project": [] } @@ -10884,7 +10881,6 @@ "cookies": false, "type": "", "demo": "teams\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10897,6 +10893,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team.md", "auth": { "Project": [] } @@ -10950,7 +10947,6 @@ "cookies": false, "type": "", "demo": "teams\/list-memberships.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-team-members.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10963,6 +10959,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-team-members.md", "auth": { "Project": [] } @@ -11049,7 +11046,6 @@ "cookies": false, "type": "", "demo": "teams\/create-membership.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team-membership.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -11062,6 +11058,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team-membership.md", "auth": { "Project": [] } @@ -11169,7 +11166,6 @@ "cookies": false, "type": "", "demo": "teams\/get-membership.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-member.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -11182,6 +11178,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-member.md", "auth": { "Project": [] } @@ -11243,7 +11240,6 @@ "cookies": false, "type": "", "demo": "teams\/update-membership.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -11256,6 +11252,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership.md", "auth": { "Project": [] } @@ -11339,7 +11336,6 @@ "cookies": false, "type": "", "demo": "teams\/delete-membership.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team-membership.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -11352,6 +11348,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team-membership.md", "auth": { "Project": [] } @@ -11415,7 +11412,6 @@ "cookies": false, "type": "", "demo": "teams\/update-membership-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -11427,6 +11423,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership-status.md", "auth": { "Project": [] } @@ -11515,7 +11512,6 @@ "cookies": false, "type": "", "demo": "teams\/get-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -11527,6 +11523,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-prefs.md", "auth": { "Project": [] } @@ -11578,7 +11575,6 @@ "cookies": false, "type": "", "demo": "teams\/update-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -11590,6 +11586,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-prefs.md", "auth": { "Project": [] } diff --git a/app/config/specs/open-api3-latest-console.json b/app/config/specs/open-api3-latest-console.json index e639490175..ae3b98970f 100644 --- a/app/config/specs/open-api3-latest-console.json +++ b/app/config/specs/open-api3-latest-console.json @@ -52,7 +52,6 @@ "cookies": false, "type": "", "demo": "account\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -64,6 +63,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get.md", "auth": { "Project": [] } @@ -102,7 +102,6 @@ "cookies": false, "type": "", "demo": "account\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -114,6 +113,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create.md", "auth": { "Project": [] } @@ -181,7 +181,6 @@ "cookies": false, "type": "", "demo": "account\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -191,6 +190,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete.md", "auth": { "Project": [] } @@ -230,7 +230,6 @@ "cookies": false, "type": "", "demo": "account\/update-email.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-email.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -242,6 +241,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-email.md", "auth": { "Project": [] } @@ -307,7 +307,6 @@ "cookies": false, "type": "", "demo": "account\/list-identities.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-identities.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -319,6 +318,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-identities.md", "auth": { "Project": [] } @@ -378,7 +378,6 @@ "cookies": false, "type": "", "demo": "account\/delete-identity.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-identity.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -390,6 +389,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-identity.md", "auth": { "Project": [] } @@ -442,7 +442,6 @@ "cookies": false, "type": "", "demo": "account\/create-jwt.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-jwt.md", "rate-limit": 100, "rate-time": 3600, "rate-key": "url:{url},userId:{userId}", @@ -454,6 +453,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-jwt.md", "auth": { "Project": [] } @@ -494,7 +494,6 @@ "cookies": false, "type": "", "demo": "account\/list-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -506,6 +505,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-logs.md", "auth": { "Project": [] } @@ -572,7 +572,6 @@ "cookies": false, "type": "", "demo": "account\/update-mfa.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -584,6 +583,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa.md", "auth": { "Project": [] } @@ -643,7 +643,6 @@ "cookies": false, "type": "", "demo": "account\/create-mfa-authenticator.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-authenticator.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -655,6 +654,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-authenticator.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.createMFAAuthenticator" @@ -766,7 +766,6 @@ "cookies": false, "type": "", "demo": "account\/update-mfa-authenticator.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-authenticator.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -778,6 +777,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-authenticator.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.updateMFAAuthenticator" @@ -905,7 +905,6 @@ "cookies": false, "type": "", "demo": "account\/delete-mfa-authenticator.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-mfa-authenticator.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -917,6 +916,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-mfa-authenticator.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.deleteMFAAuthenticator" @@ -1028,7 +1028,6 @@ "cookies": false, "type": "", "demo": "account\/create-mfa-challenge.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-challenge.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},userId:{userId}", @@ -1040,6 +1039,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-challenge.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.createMFAChallenge" @@ -1161,7 +1161,6 @@ "cookies": false, "type": "", "demo": "account\/update-mfa-challenge.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-challenge.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},challengeId:{param-challengeId}", @@ -1173,6 +1172,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-challenge.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.updateMFAChallenge" @@ -1298,7 +1298,6 @@ "cookies": false, "type": "", "demo": "account\/list-mfa-factors.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-mfa-factors.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1310,6 +1309,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-mfa-factors.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.listMFAFactors" @@ -1398,7 +1398,6 @@ "cookies": false, "type": "", "demo": "account\/get-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1410,6 +1409,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.getMFARecoveryCodes" @@ -1496,7 +1496,6 @@ "cookies": false, "type": "", "demo": "account\/create-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1508,6 +1507,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.createMFARecoveryCodes" @@ -1594,7 +1594,6 @@ "cookies": false, "type": "", "demo": "account\/update-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1606,6 +1605,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.updateMFARecoveryCodes" @@ -1694,7 +1694,6 @@ "cookies": false, "type": "", "demo": "account\/update-name.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-name.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1706,6 +1705,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-name.md", "auth": { "Project": [] } @@ -1765,7 +1765,6 @@ "cookies": false, "type": "", "demo": "account\/update-password.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-password.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1777,6 +1776,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-password.md", "auth": { "Project": [] } @@ -1841,7 +1841,6 @@ "cookies": false, "type": "", "demo": "account\/update-phone.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-phone.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1853,6 +1852,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-phone.md", "auth": { "Project": [] } @@ -1918,7 +1918,6 @@ "cookies": false, "type": "", "demo": "account\/get-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1930,6 +1929,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-prefs.md", "auth": { "Project": [] } @@ -1968,7 +1968,6 @@ "cookies": false, "type": "", "demo": "account\/update-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1980,6 +1979,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-prefs.md", "auth": { "Project": [] } @@ -2039,7 +2039,6 @@ "cookies": false, "type": "", "demo": "account\/create-recovery.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-recovery.md", "rate-limit": 10, "rate-time": 3600, "rate-key": [ @@ -2054,6 +2053,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-recovery.md", "auth": { "Project": [] } @@ -2117,7 +2117,6 @@ "cookies": false, "type": "", "demo": "account\/update-recovery.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-recovery.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},userId:{param-userId}", @@ -2129,6 +2128,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-recovery.md", "auth": { "Project": [] } @@ -2200,7 +2200,6 @@ "cookies": false, "type": "", "demo": "account\/list-sessions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-sessions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2212,6 +2211,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-sessions.md", "auth": { "Project": [] } @@ -2243,7 +2243,6 @@ "cookies": false, "type": "", "demo": "account\/delete-sessions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-sessions.md", "rate-limit": 100, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2255,6 +2254,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-sessions.md", "auth": { "Project": [] } @@ -2295,7 +2295,6 @@ "cookies": false, "type": "", "demo": "account\/create-anonymous-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-anonymous.md", "rate-limit": 50, "rate-time": 3600, "rate-key": "ip:{ip}", @@ -2307,6 +2306,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-anonymous.md", "auth": { "Project": [] } @@ -2347,7 +2347,6 @@ "cookies": false, "type": "", "demo": "account\/create-email-password-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-email-password.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},email:{param-email}", @@ -2359,6 +2358,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-email-password.md", "auth": { "Project": [] } @@ -2424,7 +2424,6 @@ "cookies": false, "type": "", "demo": "account\/update-magic-url-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "ip:{ip},userId:{param-userId}", @@ -2436,6 +2435,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "deprecated": { "since": "1.6.0", "replaceWith": "account.createSession" @@ -2498,7 +2498,6 @@ "cookies": false, "type": "webAuth", "demo": "account\/create-o-auth-2-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-oauth2.md", "rate-limit": 50, "rate-time": 3600, "rate-key": "ip:{ip}", @@ -2510,6 +2509,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-oauth2.md", "auth": { "Project": [] } @@ -2643,7 +2643,6 @@ "cookies": false, "type": "", "demo": "account\/update-phone-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "ip:{ip},userId:{param-userId}", @@ -2655,6 +2654,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "deprecated": { "since": "1.6.0", "replaceWith": "account.createSession" @@ -2724,7 +2724,6 @@ "cookies": false, "type": "", "demo": "account\/create-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "ip:{ip},userId:{param-userId}", @@ -2736,6 +2735,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "auth": { "Project": [] } @@ -2801,7 +2801,6 @@ "cookies": false, "type": "", "demo": "account\/get-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-session.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2813,6 +2812,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-session.md", "auth": { "Project": [] } @@ -2863,7 +2863,6 @@ "cookies": false, "type": "", "demo": "account\/update-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-session.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2875,6 +2874,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-session.md", "auth": { "Project": [] } @@ -2918,7 +2918,6 @@ "cookies": false, "type": "", "demo": "account\/delete-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-session.md", "rate-limit": 100, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2930,6 +2929,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-session.md", "auth": { "Project": [] } @@ -2982,7 +2982,6 @@ "cookies": false, "type": "", "demo": "account\/update-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2994,6 +2993,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-status.md", "auth": { "Project": [] } @@ -3034,7 +3034,6 @@ "cookies": false, "type": "", "demo": "account\/create-push-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-push-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -3045,6 +3044,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-push-target.md", "auth": { "Project": [] } @@ -3114,7 +3114,6 @@ "cookies": false, "type": "", "demo": "account\/update-push-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-push-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -3125,6 +3124,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-push-target.md", "auth": { "Project": [] } @@ -3186,7 +3186,6 @@ "cookies": false, "type": "", "demo": "account\/delete-push-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-push-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -3197,6 +3196,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-push-target.md", "auth": { "Project": [] } @@ -3248,7 +3248,6 @@ "cookies": false, "type": "", "demo": "account\/create-email-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-email.md", "rate-limit": 10, "rate-time": 3600, "rate-key": [ @@ -3263,6 +3262,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-email.md", "auth": { "Project": [] } @@ -3333,7 +3333,6 @@ "cookies": false, "type": "", "demo": "account\/create-magic-url-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-magic-url.md", "rate-limit": 60, "rate-time": 3600, "rate-key": [ @@ -3348,6 +3347,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-magic-url.md", "auth": { "Project": [] } @@ -3416,7 +3416,6 @@ "cookies": false, "type": "webAuth", "demo": "account\/create-o-auth-2-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-oauth2.md", "rate-limit": 50, "rate-time": 3600, "rate-key": "ip:{ip}", @@ -3428,6 +3427,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-oauth2.md", "auth": { "Project": [] } @@ -3561,7 +3561,6 @@ "cookies": false, "type": "", "demo": "account\/create-phone-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-phone.md", "rate-limit": 10, "rate-time": 3600, "rate-key": [ @@ -3576,6 +3575,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-phone.md", "auth": { "Project": [] } @@ -3641,7 +3641,6 @@ "cookies": false, "type": "", "demo": "account\/create-email-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-email-verification.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},userId:{userId}", @@ -3653,6 +3652,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-email-verification.md", "methods": [ { "name": "createEmailVerification", @@ -3762,7 +3762,6 @@ "cookies": false, "type": "", "demo": "account\/update-email-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-email-verification.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},userId:{param-userId}", @@ -3774,6 +3773,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-email-verification.md", "methods": [ { "name": "updateEmailVerification", @@ -3895,7 +3895,6 @@ "cookies": false, "type": "", "demo": "account\/create-phone-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-phone-verification.md", "rate-limit": 10, "rate-time": 3600, "rate-key": [ @@ -3910,6 +3909,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-phone-verification.md", "auth": { "Project": [] } @@ -3948,7 +3948,6 @@ "cookies": false, "type": "", "demo": "account\/update-phone-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-phone-verification.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "userId:{param-userId}", @@ -3960,6 +3959,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-phone-verification.md", "auth": { "Project": [] } @@ -4018,7 +4018,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-browser.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-browser.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4031,6 +4030,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-browser.md", "auth": { "Project": [] } @@ -4146,7 +4146,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-credit-card.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-credit-card.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4159,6 +4158,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-credit-card.md", "auth": { "Project": [] } @@ -4280,7 +4280,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-favicon.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-favicon.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4293,6 +4292,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-favicon.md", "auth": { "Project": [] } @@ -4340,7 +4340,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-flag.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-flag.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4353,6 +4352,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-flag.md", "auth": { "Project": [] } @@ -4830,7 +4830,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-image.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-image.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4843,6 +4842,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-image.md", "auth": { "Project": [] } @@ -4914,7 +4914,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-initials.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-initials.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4927,6 +4926,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-initials.md", "auth": { "Project": [] } @@ -5008,7 +5008,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-qr.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-qr.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -5021,6 +5020,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-qr.md", "auth": { "Project": [] } @@ -5102,7 +5102,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-screenshot.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-screenshot.md", "rate-limit": 60, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -5115,6 +5114,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-screenshot.md", "auth": { "Project": [] } @@ -5848,7 +5848,6 @@ "cookies": false, "type": "", "demo": "assistant\/chat.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/assistant\/chat.md", "rate-limit": 15, "rate-time": 3600, "rate-key": "userId:{userId}", @@ -5858,6 +5857,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/assistant\/chat.md", "auth": { "Project": [] } @@ -5909,7 +5909,6 @@ "cookies": false, "type": "", "demo": "console\/get-resource.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCheck if a resource ID is available.", "rate-limit": 120, "rate-time": 60, "rate-key": "userId:{userId}, url:{url}", @@ -5985,7 +5984,6 @@ "cookies": false, "type": "", "demo": "console\/variables.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/console\/variables.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -5995,6 +5993,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/console\/variables.md", "auth": { "Project": [] } @@ -6034,7 +6033,6 @@ "cookies": false, "type": "", "demo": "databases\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6045,6 +6043,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.list" @@ -6153,7 +6152,6 @@ "cookies": false, "type": "", "demo": "databases\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6164,6 +6162,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.create" @@ -6270,7 +6269,6 @@ "cookies": false, "type": "", "demo": "databases\/list-transactions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-transactions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6283,6 +6281,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-transactions.md", "auth": { "Project": [] } @@ -6337,7 +6336,6 @@ "cookies": false, "type": "", "demo": "databases\/create-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6350,6 +6348,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-transaction.md", "auth": { "Project": [] } @@ -6407,7 +6406,6 @@ "cookies": false, "type": "", "demo": "databases\/get-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6420,6 +6418,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-transaction.md", "auth": { "Project": [] } @@ -6471,7 +6470,6 @@ "cookies": false, "type": "", "demo": "databases\/update-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6484,6 +6482,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-transaction.md", "auth": { "Project": [] } @@ -6549,7 +6548,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6562,6 +6560,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-transaction.md", "auth": { "Project": [] } @@ -6615,7 +6614,6 @@ "cookies": false, "type": "", "demo": "databases\/create-operations.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-operations.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6628,6 +6626,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-operations.md", "auth": { "Project": [] } @@ -6700,7 +6699,6 @@ "cookies": false, "type": "", "demo": "databases\/list-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6710,6 +6708,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-usage.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.listUsage" @@ -6804,7 +6803,6 @@ "cookies": false, "type": "", "demo": "databases\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6815,6 +6813,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.get" @@ -6898,7 +6897,6 @@ "cookies": false, "type": "", "demo": "databases\/update.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6909,6 +6907,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.update" @@ -7012,7 +7011,6 @@ "cookies": false, "type": "", "demo": "databases\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7023,6 +7021,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.delete" @@ -7107,7 +7106,6 @@ "cookies": false, "type": "", "demo": "databases\/list-collections.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-collections.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7118,6 +7116,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-collections.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.listTables" @@ -7207,7 +7206,6 @@ "cookies": false, "type": "", "demo": "databases\/create-collection.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-collection.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7218,6 +7216,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-collection.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createTable" @@ -7334,7 +7333,6 @@ "cookies": false, "type": "", "demo": "databases\/get-collection.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-collection.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7345,6 +7343,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-collection.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.getTable" @@ -7409,7 +7408,6 @@ "cookies": false, "type": "", "demo": "databases\/update-collection.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-collection.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7420,6 +7418,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-collection.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateTable" @@ -7515,7 +7514,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-collection.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-collection.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7526,6 +7524,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-collection.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.deleteTable" @@ -7592,7 +7591,6 @@ "cookies": false, "type": "", "demo": "databases\/list-attributes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-attributes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7603,6 +7601,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-attributes.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.listColumns" @@ -7693,7 +7692,6 @@ "cookies": false, "type": "", "demo": "databases\/create-boolean-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-boolean-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7704,6 +7702,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-boolean-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createBooleanColumn" @@ -7806,7 +7805,6 @@ "cookies": false, "type": "", "demo": "databases\/update-boolean-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-boolean-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7817,6 +7815,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-boolean-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateBooleanColumn" @@ -7924,7 +7923,6 @@ "cookies": false, "type": "", "demo": "databases\/create-datetime-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-datetime-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7935,6 +7933,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-datetime-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createDatetimeColumn" @@ -8037,7 +8036,6 @@ "cookies": false, "type": "", "demo": "databases\/update-datetime-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-datetime-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8048,6 +8046,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-datetime-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateDatetimeColumn" @@ -8155,7 +8154,6 @@ "cookies": false, "type": "", "demo": "databases\/create-email-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-email-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8166,6 +8164,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-email-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createEmailColumn" @@ -8268,7 +8267,6 @@ "cookies": false, "type": "", "demo": "databases\/update-email-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-email-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8279,6 +8277,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-email-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateEmailColumn" @@ -8386,7 +8385,6 @@ "cookies": false, "type": "", "demo": "databases\/create-enum-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-enum-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8397,6 +8395,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-enum-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createEnumColumn" @@ -8508,7 +8507,6 @@ "cookies": false, "type": "", "demo": "databases\/update-enum-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-enum-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8519,6 +8517,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-enum-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateEnumColumn" @@ -8635,7 +8634,6 @@ "cookies": false, "type": "", "demo": "databases\/create-float-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-float-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8646,6 +8644,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-float-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createFloatColumn" @@ -8760,7 +8759,6 @@ "cookies": false, "type": "", "demo": "databases\/update-float-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-float-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8771,6 +8769,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-float-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateFloatColumn" @@ -8890,7 +8889,6 @@ "cookies": false, "type": "", "demo": "databases\/create-integer-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-integer-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8901,6 +8899,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-integer-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createIntegerColumn" @@ -9015,7 +9014,6 @@ "cookies": false, "type": "", "demo": "databases\/update-integer-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-integer-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9026,6 +9024,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-integer-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateIntegerColumn" @@ -9145,7 +9144,6 @@ "cookies": false, "type": "", "demo": "databases\/create-ip-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-ip-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9156,6 +9154,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-ip-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createIpColumn" @@ -9258,7 +9257,6 @@ "cookies": false, "type": "", "demo": "databases\/update-ip-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-ip-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9269,6 +9267,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-ip-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateIpColumn" @@ -9376,7 +9375,6 @@ "cookies": false, "type": "", "demo": "databases\/create-line-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-line-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9387,6 +9385,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-line-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createLineColumn" @@ -9491,7 +9490,6 @@ "cookies": false, "type": "", "demo": "databases\/update-line-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-line-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9502,6 +9500,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-line-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateLineColumn" @@ -9615,7 +9614,6 @@ "cookies": false, "type": "", "demo": "databases\/create-point-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-point-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9626,6 +9624,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-point-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createPointColumn" @@ -9730,7 +9729,6 @@ "cookies": false, "type": "", "demo": "databases\/update-point-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-point-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9741,6 +9739,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-point-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updatePointColumn" @@ -9854,7 +9853,6 @@ "cookies": false, "type": "", "demo": "databases\/create-polygon-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-polygon-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9865,6 +9863,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-polygon-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createPolygonColumn" @@ -9969,7 +9968,6 @@ "cookies": false, "type": "", "demo": "databases\/update-polygon-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-polygon-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9980,6 +9978,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-polygon-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updatePolygonColumn" @@ -10093,7 +10092,6 @@ "cookies": false, "type": "", "demo": "databases\/create-relationship-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-relationship-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10104,6 +10102,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-relationship-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createRelationshipColumn" @@ -10232,7 +10231,6 @@ "cookies": false, "type": "", "demo": "databases\/create-string-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-string-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10243,6 +10241,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-string-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createStringColumn" @@ -10356,7 +10355,6 @@ "cookies": false, "type": "", "demo": "databases\/update-string-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-string-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10367,6 +10365,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-string-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateStringColumn" @@ -10480,7 +10479,6 @@ "cookies": false, "type": "", "demo": "databases\/create-url-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-url-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10491,6 +10489,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-url-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createUrlColumn" @@ -10593,7 +10592,6 @@ "cookies": false, "type": "", "demo": "databases\/update-url-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-url-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10604,6 +10602,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-url-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateUrlColumn" @@ -10742,7 +10741,6 @@ "cookies": false, "type": "", "demo": "databases\/get-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10753,6 +10751,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.getColumn" @@ -10819,7 +10818,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10830,6 +10828,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.deleteColumn" @@ -10905,7 +10904,6 @@ "cookies": false, "type": "", "demo": "databases\/update-relationship-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-relationship-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10916,6 +10914,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-relationship-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateRelationshipColumn" @@ -11021,7 +11020,6 @@ "cookies": false, "type": "", "demo": "databases\/list-documents.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-documents.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -11034,6 +11032,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-documents.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.listRows" @@ -11133,7 +11132,6 @@ "cookies": false, "type": "", "demo": "databases\/create-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-document.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -11146,6 +11144,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createRow" @@ -11324,7 +11323,6 @@ "cookies": false, "type": "", "demo": "databases\/upsert-documents.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-documents.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -11335,6 +11333,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-documents.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.upsertRows" @@ -11461,7 +11460,6 @@ "cookies": false, "type": "", "demo": "databases\/update-documents.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-documents.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -11472,6 +11470,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-documents.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateRows" @@ -11566,7 +11565,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-documents.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-documents.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -11577,6 +11575,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-documents.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.deleteRows" @@ -11668,7 +11667,6 @@ "cookies": false, "type": "", "demo": "databases\/get-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-document.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -11681,6 +11679,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.getRow" @@ -11779,7 +11778,6 @@ "cookies": false, "type": "", "demo": "databases\/upsert-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-document.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -11792,6 +11790,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.upsertRow" @@ -11938,7 +11937,6 @@ "cookies": false, "type": "", "demo": "databases\/update-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-document.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -11951,6 +11949,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateRow" @@ -12050,7 +12049,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-document.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -12063,6 +12061,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.deleteRow" @@ -12157,7 +12156,6 @@ "cookies": false, "type": "", "demo": "databases\/list-document-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-document-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12167,6 +12165,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-document-logs.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.listRowLogs" @@ -12255,7 +12254,6 @@ "cookies": false, "type": "", "demo": "databases\/decrement-document-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/decrement-document-attribute.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -12268,6 +12266,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/decrement-document-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.decrementRowColumn" @@ -12382,7 +12381,6 @@ "cookies": false, "type": "", "demo": "databases\/increment-document-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/increment-document-attribute.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -12395,6 +12393,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/increment-document-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.incrementRowColumn" @@ -12509,7 +12508,6 @@ "cookies": false, "type": "", "demo": "databases\/list-indexes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-indexes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12520,6 +12518,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-indexes.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.listIndexes" @@ -12608,7 +12607,6 @@ "cookies": false, "type": "", "demo": "databases\/create-index.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12619,6 +12617,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-index.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createIndex" @@ -12749,7 +12748,6 @@ "cookies": false, "type": "", "demo": "databases\/get-index.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12760,6 +12758,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-index.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.getIndex" @@ -12826,7 +12825,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-index.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12837,6 +12835,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-index.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.deleteIndex" @@ -12912,7 +12911,6 @@ "cookies": false, "type": "", "demo": "databases\/list-collection-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-collection-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12922,6 +12920,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-collection-logs.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.listTableLogs" @@ -13000,7 +12999,6 @@ "cookies": false, "type": "", "demo": "databases\/get-collection-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-collection-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13010,6 +13008,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-collection-usage.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.getTableUsage" @@ -13097,7 +13096,6 @@ "cookies": false, "type": "", "demo": "databases\/list-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13107,6 +13105,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-logs.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.listDatabaseLogs" @@ -13205,7 +13204,6 @@ "cookies": false, "type": "", "demo": "databases\/get-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-database-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13215,6 +13213,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-database-usage.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.getUsage" @@ -13322,7 +13321,6 @@ "cookies": false, "type": "", "demo": "functions\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all the project's functions. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13408,7 +13406,6 @@ "cookies": false, "type": "", "demo": "functions\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new function. You can pass a list of [permissions](https:\/\/appwrite.io\/docs\/permissions) to allow different project users or team with access to execute the function using the client API.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13704,7 +13701,6 @@ "cookies": false, "type": "", "demo": "functions\/list-runtimes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all runtimes that are currently active on your instance.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13755,7 +13751,6 @@ "cookies": false, "type": "", "demo": "functions\/list-specifications.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterList allowed function specifications for this instance.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13806,7 +13801,6 @@ "cookies": false, "type": "", "demo": "functions\/list-templates.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterList available function templates. You can use template details in [createFunction](\/docs\/references\/cloud\/server-nodejs\/functions#create) method.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13999,7 +13993,6 @@ "cookies": false, "type": "", "demo": "functions\/get-template.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a function template using ID. You can use template details in [createFunction](\/docs\/references\/cloud\/server-nodejs\/functions#create) method.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14060,7 +14053,6 @@ "cookies": false, "type": "", "demo": "functions\/list-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet usage metrics and statistics for all functions in the project. View statistics including total deployments, builds, logs, storage usage, and compute time. The response includes both current totals and historical data for each metric. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, defaults to 30 days.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14133,7 +14125,6 @@ "cookies": false, "type": "", "demo": "functions\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a function by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14194,7 +14185,6 @@ "cookies": false, "type": "", "demo": "functions\/update.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate function by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14487,7 +14477,6 @@ "cookies": false, "type": "", "demo": "functions\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a function by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14550,7 +14539,6 @@ "cookies": false, "type": "", "demo": "functions\/update-function-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate the function active deployment. Use this endpoint to switch the code deployment that should be used when visitor opens your function.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14632,7 +14620,6 @@ "cookies": false, "type": "", "demo": "functions\/list-deployments.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all the function's code deployments. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14728,7 +14715,6 @@ "cookies": false, "type": "upload", "demo": "functions\/create-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new function code deployment. Use this endpoint to upload a new version of your code function. To execute your newly uploaded code, you'll need to update the function's deployment to use your new deployment UID.\n\nThis endpoint accepts a tar.gz file compressed with your code. Make sure to include any dependencies your code has within the compressed file. You can learn more about code packaging in the [Appwrite Cloud Functions tutorial](https:\/\/appwrite.io\/docs\/functions).\n\nUse the \"command\" param to set the entrypoint used to execute your code.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14828,7 +14814,6 @@ "cookies": false, "type": "", "demo": "functions\/create-duplicate-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new build for an existing function deployment. This endpoint allows you to rebuild a deployment with the updated function configuration, including its entrypoint and build commands if they have been modified. The build process will be queued and executed asynchronously. The original deployment's code will be preserved and used for the new build.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14915,7 +14900,6 @@ "cookies": false, "type": "", "demo": "functions\/create-template-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a deployment based on a template.\n\nUse this endpoint with combination of [listTemplates](https:\/\/appwrite.io\/docs\/products\/functions\/templates) to find the template details.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15033,7 +15017,6 @@ "cookies": false, "type": "", "demo": "functions\/create-vcs-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a deployment when a function is connected to VCS.\n\nThis endpoint lets you create deployment from a branch, commit, or a tag.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15132,7 +15115,6 @@ "cookies": false, "type": "", "demo": "functions\/get-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a function deployment by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15196,7 +15178,6 @@ "cookies": false, "type": "", "demo": "functions\/delete-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a code deployment by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15262,7 +15243,6 @@ "cookies": false, "type": "location", "demo": "functions\/get-deployment-download.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a function deployment content by its unique ID. The endpoint response return with a 'Content-Disposition: attachment' header that tells the browser to start downloading the file to user downloads directory.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15354,7 +15334,6 @@ "cookies": false, "type": "", "demo": "functions\/update-deployment-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCancel an ongoing function deployment build. If the build is already in progress, it will be stopped and marked as canceled. If the build hasn't started yet, it will be marked as canceled without executing. You cannot cancel builds that have already completed (status 'ready') or failed. The response includes the final build status and details.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15427,7 +15406,6 @@ "cookies": false, "type": "", "demo": "functions\/list-executions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all the current user function execution logs. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15515,7 +15493,6 @@ "cookies": false, "type": "", "demo": "functions\/create-execution.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterTrigger a function execution. The returned object will return you the current execution status. You can ping the `Get Execution` endpoint to get updates on the current execution status. Once this endpoint is called, your function execution process will start asynchronously.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15634,7 +15611,6 @@ "cookies": false, "type": "", "demo": "functions\/get-execution.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a function execution log by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15701,7 +15677,6 @@ "cookies": false, "type": "", "demo": "functions\/delete-execution.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a function execution by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15774,7 +15749,6 @@ "cookies": false, "type": "", "demo": "functions\/get-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet usage metrics and statistics for a for a specific function. View statistics including total deployments, builds, executions, storage usage, and compute time. The response includes both current totals and historical data for each metric. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, defaults to 30 days.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15857,7 +15831,6 @@ "cookies": false, "type": "", "demo": "functions\/list-variables.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all variables of a specific function.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15918,7 +15891,6 @@ "cookies": false, "type": "", "demo": "functions\/create-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new function environment variable. These variables can be accessed in the function at runtime as environment variables.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16011,7 +15983,6 @@ "cookies": false, "type": "", "demo": "functions\/get-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a variable by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16082,7 +16053,6 @@ "cookies": false, "type": "", "demo": "functions\/update-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate variable by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16177,7 +16147,6 @@ "cookies": false, "type": "", "demo": "functions\/delete-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a variable by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16250,7 +16219,6 @@ "cookies": false, "type": "graphql", "demo": "graphql\/query.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "rate-limit": 60, "rate-time": 60, "rate-key": "url:{url},ip:{ip}", @@ -16263,6 +16231,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "auth": { "Project": [] } @@ -16304,7 +16273,6 @@ "cookies": false, "type": "graphql", "demo": "graphql\/mutation.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "rate-limit": 60, "rate-time": 60, "rate-key": "url:{url},ip:{ip}", @@ -16317,6 +16285,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "auth": { "Project": [] } @@ -16358,7 +16327,6 @@ "cookies": false, "type": "", "demo": "health\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16369,6 +16337,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get.md", "auth": { "Project": [] } @@ -16409,7 +16378,6 @@ "cookies": false, "type": "", "demo": "health\/get-antivirus.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage-anti-virus.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16420,6 +16388,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage-anti-virus.md", "auth": { "Project": [] } @@ -16460,7 +16429,6 @@ "cookies": false, "type": "", "demo": "health\/get-cache.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-cache.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16471,6 +16439,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-cache.md", "auth": { "Project": [] } @@ -16511,7 +16480,6 @@ "cookies": false, "type": "", "demo": "health\/get-certificate.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-certificate.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16522,6 +16490,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-certificate.md", "auth": { "Project": [] } @@ -16573,7 +16542,6 @@ "cookies": false, "type": "", "demo": "health\/get-db.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-db.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16584,6 +16552,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-db.md", "auth": { "Project": [] } @@ -16624,7 +16593,6 @@ "cookies": false, "type": "", "demo": "health\/get-pub-sub.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-pubsub.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16635,6 +16603,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-pubsub.md", "auth": { "Project": [] } @@ -16675,7 +16644,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-builds.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-builds.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16686,6 +16654,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-builds.md", "auth": { "Project": [] } @@ -16739,7 +16708,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-certificates.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-certificates.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16750,6 +16718,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-certificates.md", "auth": { "Project": [] } @@ -16803,7 +16772,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-databases.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-databases.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16814,6 +16782,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-databases.md", "auth": { "Project": [] } @@ -16878,7 +16847,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-deletes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-deletes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16889,6 +16857,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-deletes.md", "auth": { "Project": [] } @@ -16942,7 +16911,6 @@ "cookies": false, "type": "", "demo": "health\/get-failed-jobs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-failed-queue-jobs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16953,6 +16921,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-failed-queue-jobs.md", "auth": { "Project": [] } @@ -17032,7 +17001,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-functions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-functions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17043,6 +17011,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-functions.md", "auth": { "Project": [] } @@ -17096,7 +17065,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17107,6 +17075,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-logs.md", "auth": { "Project": [] } @@ -17160,7 +17129,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-mails.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-mails.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17171,6 +17139,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-mails.md", "auth": { "Project": [] } @@ -17224,7 +17193,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-messaging.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-messaging.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17235,6 +17203,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-messaging.md", "auth": { "Project": [] } @@ -17288,7 +17257,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-migrations.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-migrations.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17299,6 +17267,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-migrations.md", "auth": { "Project": [] } @@ -17352,7 +17321,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-stats-resources.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-stats-resources.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17363,6 +17331,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-stats-resources.md", "auth": { "Project": [] } @@ -17416,7 +17385,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-stats-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17427,6 +17395,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-stats-usage.md", "auth": { "Project": [] } @@ -17480,7 +17449,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-webhooks.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-webhooks.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17491,6 +17459,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-webhooks.md", "auth": { "Project": [] } @@ -17544,7 +17513,6 @@ "cookies": false, "type": "", "demo": "health\/get-storage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17555,6 +17523,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage.md", "auth": { "Project": [] } @@ -17595,7 +17564,6 @@ "cookies": false, "type": "", "demo": "health\/get-storage-local.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage-local.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17606,6 +17574,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage-local.md", "auth": { "Project": [] } @@ -17646,7 +17615,6 @@ "cookies": false, "type": "", "demo": "health\/get-time.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-time.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17657,6 +17625,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-time.md", "auth": { "Project": [] } @@ -17697,7 +17666,6 @@ "cookies": false, "type": "", "demo": "locale\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/get-locale.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17710,6 +17678,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/get-locale.md", "auth": { "Project": [] } @@ -17751,7 +17720,6 @@ "cookies": false, "type": "", "demo": "locale\/list-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-locale-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17764,6 +17732,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-locale-codes.md", "auth": { "Project": [] } @@ -17805,7 +17774,6 @@ "cookies": false, "type": "", "demo": "locale\/list-continents.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-continents.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17818,6 +17786,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-continents.md", "auth": { "Project": [] } @@ -17859,7 +17828,6 @@ "cookies": false, "type": "", "demo": "locale\/list-countries.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17872,6 +17840,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries.md", "auth": { "Project": [] } @@ -17913,7 +17882,6 @@ "cookies": false, "type": "", "demo": "locale\/list-countries-eu.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-eu.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17926,6 +17894,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-eu.md", "auth": { "Project": [] } @@ -17967,7 +17936,6 @@ "cookies": false, "type": "", "demo": "locale\/list-countries-phones.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-phones.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17980,6 +17948,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-phones.md", "auth": { "Project": [] } @@ -18021,7 +17990,6 @@ "cookies": false, "type": "", "demo": "locale\/list-currencies.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-currencies.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18034,6 +18002,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-currencies.md", "auth": { "Project": [] } @@ -18075,7 +18044,6 @@ "cookies": false, "type": "", "demo": "locale\/list-languages.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-languages.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18088,6 +18056,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-languages.md", "auth": { "Project": [] } @@ -18129,7 +18098,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-messages.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-messages.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18140,6 +18108,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-messages.md", "auth": { "Project": [] } @@ -18217,7 +18186,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-email.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-email.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18228,6 +18196,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-email.md", "auth": { "Project": [] } @@ -18363,7 +18332,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-email.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-email.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18374,6 +18342,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-email.md", "auth": { "Project": [] } @@ -18521,7 +18490,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-push.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-push.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18532,6 +18500,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-push.md", "auth": { "Project": [] } @@ -18698,7 +18667,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-push.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-push.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18709,6 +18677,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-push.md", "auth": { "Project": [] } @@ -18895,7 +18864,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-sms.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-sms.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18906,6 +18874,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-sms.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.createSMS" @@ -19076,7 +19045,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-sms.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-sms.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19087,6 +19055,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-sms.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.updateSMS" @@ -19263,7 +19232,6 @@ "cookies": false, "type": "", "demo": "messaging\/get-message.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-message.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19274,6 +19242,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-message.md", "auth": { "Project": [] } @@ -19317,7 +19286,6 @@ "cookies": false, "type": "", "demo": "messaging\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-message.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19328,6 +19296,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-message.md", "auth": { "Project": [] } @@ -19380,7 +19349,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-message-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-message-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19391,6 +19359,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-message-logs.md", "auth": { "Project": [] } @@ -19467,7 +19436,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-targets.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-message-targets.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19478,6 +19446,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-message-targets.md", "auth": { "Project": [] } @@ -19554,7 +19523,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-providers.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-providers.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19565,6 +19533,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-providers.md", "auth": { "Project": [] } @@ -19642,7 +19611,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-apns-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-apns-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19653,6 +19621,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-apns-provider.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.createAPNSProvider" @@ -19821,7 +19790,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-apns-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-apns-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19832,6 +19800,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-apns-provider.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.updateAPNSProvider" @@ -20002,7 +19971,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-fcm-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-fcm-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20013,6 +19981,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-fcm-provider.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.createFCMProvider" @@ -20154,7 +20123,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-fcm-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-fcm-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20165,6 +20133,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-fcm-provider.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.updateFCMProvider" @@ -20307,7 +20276,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-mailgun-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-mailgun-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20318,6 +20286,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-mailgun-provider.md", "auth": { "Project": [] } @@ -20425,7 +20394,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-mailgun-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-mailgun-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20436,6 +20404,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-mailgun-provider.md", "auth": { "Project": [] } @@ -20546,7 +20515,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-msg-91-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-msg91-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20557,6 +20525,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-msg91-provider.md", "auth": { "Project": [] } @@ -20643,7 +20612,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-msg-91-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-msg91-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20654,6 +20622,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-msg91-provider.md", "auth": { "Project": [] } @@ -20743,7 +20712,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-resend-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-resend-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20754,6 +20722,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-resend-provider.md", "auth": { "Project": [] } @@ -20850,7 +20819,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-resend-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-resend-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20861,6 +20829,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-resend-provider.md", "auth": { "Project": [] } @@ -20960,7 +20929,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-sendgrid-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-sendgrid-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20971,6 +20939,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-sendgrid-provider.md", "auth": { "Project": [] } @@ -21067,7 +21036,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-sendgrid-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-sendgrid-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21078,6 +21046,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-sendgrid-provider.md", "auth": { "Project": [] } @@ -21177,7 +21146,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-smtp-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-smtp-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21188,6 +21156,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-smtp-provider.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.createSMTPProvider" @@ -21408,7 +21377,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-smtp-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-smtp-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21419,6 +21387,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-smtp-provider.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.updateSMTPProvider" @@ -21639,7 +21608,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-telesign-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-telesign-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21650,6 +21618,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-telesign-provider.md", "auth": { "Project": [] } @@ -21736,7 +21705,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-telesign-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-telesign-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21747,6 +21715,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-telesign-provider.md", "auth": { "Project": [] } @@ -21836,7 +21805,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-textmagic-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-textmagic-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21847,6 +21815,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-textmagic-provider.md", "auth": { "Project": [] } @@ -21933,7 +21902,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-textmagic-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-textmagic-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21944,6 +21912,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-textmagic-provider.md", "auth": { "Project": [] } @@ -22033,7 +22002,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-twilio-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-twilio-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22044,6 +22012,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-twilio-provider.md", "auth": { "Project": [] } @@ -22130,7 +22099,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-twilio-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-twilio-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22141,6 +22109,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-twilio-provider.md", "auth": { "Project": [] } @@ -22230,7 +22199,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-vonage-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-vonage-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22241,6 +22209,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-vonage-provider.md", "auth": { "Project": [] } @@ -22327,7 +22296,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-vonage-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-vonage-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22338,6 +22306,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-vonage-provider.md", "auth": { "Project": [] } @@ -22427,7 +22396,6 @@ "cookies": false, "type": "", "demo": "messaging\/get-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22438,6 +22406,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-provider.md", "auth": { "Project": [] } @@ -22481,7 +22450,6 @@ "cookies": false, "type": "", "demo": "messaging\/delete-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22492,6 +22460,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-provider.md", "auth": { "Project": [] } @@ -22544,7 +22513,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-provider-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-provider-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22555,6 +22523,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-provider-logs.md", "auth": { "Project": [] } @@ -22631,7 +22600,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-subscriber-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-subscriber-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22642,6 +22610,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-subscriber-logs.md", "auth": { "Project": [] } @@ -22718,7 +22687,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-topics.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-topics.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22729,6 +22697,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-topics.md", "auth": { "Project": [] } @@ -22804,7 +22773,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-topic.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-topic.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22815,6 +22783,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-topic.md", "auth": { "Project": [] } @@ -22888,7 +22857,6 @@ "cookies": false, "type": "", "demo": "messaging\/get-topic.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-topic.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22899,6 +22867,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-topic.md", "auth": { "Project": [] } @@ -22949,7 +22918,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-topic.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-topic.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22960,6 +22928,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-topic.md", "auth": { "Project": [] } @@ -23029,7 +22998,6 @@ "cookies": false, "type": "", "demo": "messaging\/delete-topic.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-topic.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23040,6 +23008,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-topic.md", "auth": { "Project": [] } @@ -23092,7 +23061,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-topic-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-topic-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23103,6 +23071,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-topic-logs.md", "auth": { "Project": [] } @@ -23179,7 +23148,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-subscribers.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-subscribers.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23190,6 +23158,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-subscribers.md", "auth": { "Project": [] } @@ -23275,7 +23244,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-subscriber.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-subscriber.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23288,6 +23256,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-subscriber.md", "auth": { "Project": [] } @@ -23366,7 +23335,6 @@ "cookies": false, "type": "", "demo": "messaging\/get-subscriber.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-subscriber.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23377,6 +23345,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-subscriber.md", "auth": { "Project": [] } @@ -23430,7 +23399,6 @@ "cookies": false, "type": "", "demo": "messaging\/delete-subscriber.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-subscriber.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23443,6 +23411,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-subscriber.md", "auth": { "Project": [] } @@ -23506,7 +23475,6 @@ "cookies": false, "type": "", "demo": "migrations\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/list-migrations.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23516,6 +23484,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/list-migrations.md", "auth": { "Project": [] } @@ -23592,7 +23561,6 @@ "cookies": false, "type": "", "demo": "migrations\/create-appwrite-migration.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-appwrite.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23602,6 +23570,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-appwrite.md", "auth": { "Project": [] } @@ -23701,7 +23670,6 @@ "cookies": false, "type": "", "demo": "migrations\/get-appwrite-report.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-appwrite-report.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23711,6 +23679,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-appwrite-report.md", "auth": { "Project": [] } @@ -23815,7 +23784,6 @@ "cookies": false, "type": "", "demo": "migrations\/create-csv-export.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-csv-export.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23825,6 +23793,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-csv-export.md", "auth": { "Project": [] } @@ -23930,7 +23899,6 @@ "cookies": false, "type": "", "demo": "migrations\/create-csv-import.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-csv-import.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23940,6 +23908,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-csv-import.md", "auth": { "Project": [] } @@ -24015,7 +23984,6 @@ "cookies": false, "type": "", "demo": "migrations\/create-firebase-migration.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-firebase.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24025,6 +23993,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-firebase.md", "auth": { "Project": [] } @@ -24106,7 +24075,6 @@ "cookies": false, "type": "", "demo": "migrations\/get-firebase-report.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-firebase-report.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24116,6 +24084,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-firebase-report.md", "auth": { "Project": [] } @@ -24193,7 +24162,6 @@ "cookies": false, "type": "", "demo": "migrations\/create-n-host-migration.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-nhost.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24203,6 +24171,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-nhost.md", "auth": { "Project": [] } @@ -24320,7 +24289,6 @@ "cookies": false, "type": "", "demo": "migrations\/get-n-host-report.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-nhost-report.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24330,6 +24298,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-nhost-report.md", "auth": { "Project": [] } @@ -24469,7 +24438,6 @@ "cookies": false, "type": "", "demo": "migrations\/create-supabase-migration.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-supabase.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24479,6 +24447,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-supabase.md", "auth": { "Project": [] } @@ -24590,7 +24559,6 @@ "cookies": false, "type": "", "demo": "migrations\/get-supabase-report.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-supabase-report.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24600,6 +24568,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-supabase-report.md", "auth": { "Project": [] } @@ -24730,7 +24699,6 @@ "cookies": false, "type": "", "demo": "migrations\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/get-migration.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24740,6 +24708,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/get-migration.md", "auth": { "Project": [] } @@ -24789,7 +24758,6 @@ "cookies": false, "type": "", "demo": "migrations\/retry.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/retry-migration.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24799,6 +24767,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/retry-migration.md", "auth": { "Project": [] } @@ -24841,7 +24810,6 @@ "cookies": false, "type": "", "demo": "migrations\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/delete-migration.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24851,6 +24819,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/delete-migration.md", "auth": { "Project": [] } @@ -24902,7 +24871,6 @@ "cookies": false, "type": "", "demo": "project\/get-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/project\/get-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24912,6 +24880,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/project\/get-usage.md", "auth": { "Project": [] } @@ -24991,7 +24960,6 @@ "cookies": false, "type": "", "demo": "project\/list-variables.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/project\/list-variables.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25001,6 +24969,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/project\/list-variables.md", "auth": { "Project": [] } @@ -25038,7 +25007,6 @@ "cookies": false, "type": "", "demo": "project\/create-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/project\/create-variable.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25048,6 +25016,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/project\/create-variable.md", "auth": { "Project": [] } @@ -25117,7 +25086,6 @@ "cookies": false, "type": "", "demo": "project\/get-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/project\/get-variable.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25127,6 +25095,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/project\/get-variable.md", "auth": { "Project": [] } @@ -25176,7 +25145,6 @@ "cookies": false, "type": "", "demo": "project\/update-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/project\/update-variable.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25186,6 +25154,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/project\/update-variable.md", "auth": { "Project": [] } @@ -25259,7 +25228,6 @@ "cookies": false, "type": "", "demo": "project\/delete-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/project\/delete-variable.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25269,6 +25237,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/project\/delete-variable.md", "auth": { "Project": [] } @@ -25320,7 +25289,6 @@ "cookies": false, "type": "", "demo": "projects\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all projects. You can use the query params to filter your results. ", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25404,7 +25372,6 @@ "cookies": false, "type": "", "demo": "projects\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25414,6 +25381,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create.md", "auth": { "Project": [] } @@ -25539,7 +25507,6 @@ "cookies": false, "type": "", "demo": "projects\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25549,6 +25516,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get.md", "auth": { "Project": [] } @@ -25598,7 +25566,6 @@ "cookies": false, "type": "", "demo": "projects\/update.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25608,6 +25575,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update.md", "auth": { "Project": [] } @@ -25714,7 +25682,6 @@ "cookies": false, "type": "", "demo": "projects\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/delete.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25724,6 +25691,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/delete.md", "auth": { "Project": [] } @@ -25775,7 +25743,6 @@ "cookies": false, "type": "", "demo": "projects\/update-api-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-api-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25785,6 +25752,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-api-status.md", "deprecated": { "since": "1.8.0", "replaceWith": "projects.updateAPIStatus" @@ -25932,7 +25900,6 @@ "cookies": false, "type": "", "demo": "projects\/update-api-status-all.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-api-status-all.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25942,6 +25909,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-api-status-all.md", "deprecated": { "since": "1.8.0", "replaceWith": "projects.updateAPIStatusAll" @@ -26072,7 +26040,6 @@ "cookies": false, "type": "", "demo": "projects\/update-auth-duration.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-auth-duration.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26082,6 +26049,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-auth-duration.md", "auth": { "Project": [] } @@ -26152,7 +26120,6 @@ "cookies": false, "type": "", "demo": "projects\/update-auth-limit.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-auth-limit.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26162,6 +26129,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-auth-limit.md", "auth": { "Project": [] } @@ -26232,7 +26200,6 @@ "cookies": false, "type": "", "demo": "projects\/update-auth-sessions-limit.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-auth-sessions-limit.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26242,6 +26209,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-auth-sessions-limit.md", "auth": { "Project": [] } @@ -26312,7 +26280,6 @@ "cookies": false, "type": "", "demo": "projects\/update-memberships-privacy.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-memberships-privacy.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26322,6 +26289,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-memberships-privacy.md", "auth": { "Project": [] } @@ -26404,7 +26372,6 @@ "cookies": false, "type": "", "demo": "projects\/update-mock-numbers.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-mock-numbers.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26414,6 +26381,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-mock-numbers.md", "auth": { "Project": [] } @@ -26487,7 +26455,6 @@ "cookies": false, "type": "", "demo": "projects\/update-auth-password-dictionary.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-auth-password-dictionary.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26497,6 +26464,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-auth-password-dictionary.md", "auth": { "Project": [] } @@ -26567,7 +26535,6 @@ "cookies": false, "type": "", "demo": "projects\/update-auth-password-history.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-auth-password-history.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26577,6 +26544,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-auth-password-history.md", "auth": { "Project": [] } @@ -26647,7 +26615,6 @@ "cookies": false, "type": "", "demo": "projects\/update-personal-data-check.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-personal-data-check.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26657,6 +26624,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-personal-data-check.md", "auth": { "Project": [] } @@ -26727,7 +26695,6 @@ "cookies": false, "type": "", "demo": "projects\/update-session-alerts.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-session-alerts.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26737,6 +26704,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-session-alerts.md", "auth": { "Project": [] } @@ -26807,7 +26775,6 @@ "cookies": false, "type": "", "demo": "projects\/update-session-invalidation.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-session-invalidation.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26817,6 +26784,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-session-invalidation.md", "auth": { "Project": [] } @@ -26887,7 +26855,6 @@ "cookies": false, "type": "", "demo": "projects\/update-auth-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-auth-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26897,6 +26864,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-auth-status.md", "auth": { "Project": [] } @@ -26988,7 +26956,6 @@ "cookies": false, "type": "", "demo": "projects\/list-dev-keys.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterList all the project\\'s dev keys. Dev keys are project specific and allow you to bypass rate limits and get better error logging during development.'", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27060,7 +27027,6 @@ "cookies": false, "type": "", "demo": "projects\/create-dev-key.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new project dev key. Dev keys are project specific and allow you to bypass rate limits and get better error logging during development. Strictly meant for development purposes only.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27146,7 +27112,6 @@ "cookies": false, "type": "", "demo": "projects\/get-dev-key.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a project\\'s dev key by its unique ID. Dev keys are project specific and allow you to bypass rate limits and get better error logging during development.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27215,7 +27180,6 @@ "cookies": false, "type": "", "demo": "projects\/update-dev-key.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate a project\\'s dev key by its unique ID. Use this endpoint to update a project\\'s dev key name or expiration time.'", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27302,7 +27266,6 @@ "cookies": false, "type": "", "demo": "projects\/delete-dev-key.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a project\\'s dev key by its unique ID. Once deleted, the key will no longer allow bypassing of rate limits and better logging of errors.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27373,7 +27336,6 @@ "cookies": false, "type": "", "demo": "projects\/create-jwt.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create-jwt.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27383,6 +27345,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create-jwt.md", "auth": { "Project": [] } @@ -27520,7 +27483,6 @@ "cookies": false, "type": "", "demo": "projects\/list-keys.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/list-keys.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27530,6 +27492,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/list-keys.md", "auth": { "Project": [] } @@ -27590,7 +27553,6 @@ "cookies": false, "type": "", "demo": "projects\/create-key.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create-key.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27600,6 +27562,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create-key.md", "auth": { "Project": [] } @@ -27745,7 +27708,6 @@ "cookies": false, "type": "", "demo": "projects\/get-key.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get-key.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27755,6 +27717,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get-key.md", "auth": { "Project": [] } @@ -27814,7 +27777,6 @@ "cookies": false, "type": "", "demo": "projects\/update-key.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-key.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27824,6 +27786,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-key.md", "auth": { "Project": [] } @@ -27970,7 +27933,6 @@ "cookies": false, "type": "", "demo": "projects\/delete-key.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/delete-key.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27980,6 +27942,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/delete-key.md", "auth": { "Project": [] } @@ -28041,7 +28004,6 @@ "cookies": false, "type": "", "demo": "projects\/update-o-auth-2.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-oauth2.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28051,6 +28013,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-oauth2.md", "auth": { "Project": [] } @@ -28183,7 +28146,6 @@ "cookies": false, "type": "", "demo": "projects\/list-platforms.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/list-platforms.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28193,6 +28155,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/list-platforms.md", "auth": { "Project": [] } @@ -28253,7 +28216,6 @@ "cookies": false, "type": "", "demo": "projects\/create-platform.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create-platform.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28263,6 +28225,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create-platform.md", "auth": { "Project": [] } @@ -28373,7 +28336,6 @@ "cookies": false, "type": "", "demo": "projects\/get-platform.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get-platform.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28383,6 +28345,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get-platform.md", "auth": { "Project": [] } @@ -28442,7 +28405,6 @@ "cookies": false, "type": "", "demo": "projects\/update-platform.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-platform.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28452,6 +28414,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-platform.md", "auth": { "Project": [] } @@ -28538,7 +28501,6 @@ "cookies": false, "type": "", "demo": "projects\/delete-platform.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/delete-platform.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28548,6 +28510,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/delete-platform.md", "auth": { "Project": [] } @@ -28609,7 +28572,6 @@ "cookies": false, "type": "", "demo": "projects\/update-service-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-service-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28619,6 +28581,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-service-status.md", "auth": { "Project": [] } @@ -28712,7 +28675,6 @@ "cookies": false, "type": "", "demo": "projects\/update-service-status-all.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-service-status-all.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28722,6 +28684,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-service-status-all.md", "auth": { "Project": [] } @@ -28792,7 +28755,6 @@ "cookies": false, "type": "", "demo": "projects\/update-smtp.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-smtp.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28802,6 +28764,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-smtp.md", "deprecated": { "since": "1.8.0", "replaceWith": "projects.updateSMTP" @@ -28987,7 +28950,6 @@ "cookies": false, "type": "", "demo": "projects\/create-smtp-test.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create-smtp-test.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28997,6 +28959,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create-smtp-test.md", "deprecated": { "since": "1.8.0", "replaceWith": "projects.createSMTPTest" @@ -29199,7 +29162,6 @@ "cookies": false, "type": "", "demo": "projects\/update-team.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-team.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -29209,6 +29171,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-team.md", "auth": { "Project": [] } @@ -29279,7 +29242,6 @@ "cookies": false, "type": "", "demo": "projects\/get-email-template.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get-email-template.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -29289,6 +29251,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get-email-template.md", "auth": { "Project": [] } @@ -29504,7 +29467,6 @@ "cookies": false, "type": "", "demo": "projects\/update-email-template.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-email-template.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -29514,6 +29476,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-email-template.md", "auth": { "Project": [] } @@ -29769,7 +29732,6 @@ "cookies": false, "type": "", "demo": "projects\/delete-email-template.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/delete-email-template.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -29779,6 +29741,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/delete-email-template.md", "auth": { "Project": [] } @@ -29996,7 +29959,6 @@ "cookies": false, "type": "", "demo": "projects\/get-sms-template.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get-sms-template.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30006,6 +29968,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get-sms-template.md", "deprecated": { "since": "1.8.0", "replaceWith": "projects.getSMSTemplate" @@ -30282,7 +30245,6 @@ "cookies": false, "type": "", "demo": "projects\/update-sms-template.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-sms-template.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30292,6 +30254,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-sms-template.md", "deprecated": { "since": "1.8.0", "replaceWith": "projects.updateSMSTemplate" @@ -30591,7 +30554,6 @@ "cookies": false, "type": "", "demo": "projects\/delete-sms-template.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/delete-sms-template.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30601,6 +30563,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/delete-sms-template.md", "deprecated": { "since": "1.8.0", "replaceWith": "projects.deleteSMSTemplate" @@ -30879,7 +30842,6 @@ "cookies": false, "type": "", "demo": "projects\/list-webhooks.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/list-webhooks.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30889,6 +30851,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/list-webhooks.md", "auth": { "Project": [] } @@ -30949,7 +30912,6 @@ "cookies": false, "type": "", "demo": "projects\/create-webhook.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create-webhook.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30959,6 +30921,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create-webhook.md", "auth": { "Project": [] } @@ -31065,7 +31028,6 @@ "cookies": false, "type": "", "demo": "projects\/get-webhook.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get-webhook.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -31075,6 +31037,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get-webhook.md", "auth": { "Project": [] } @@ -31134,7 +31097,6 @@ "cookies": false, "type": "", "demo": "projects\/update-webhook.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-webhook.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -31144,6 +31106,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-webhook.md", "auth": { "Project": [] } @@ -31251,7 +31214,6 @@ "cookies": false, "type": "", "demo": "projects\/delete-webhook.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/delete-webhook.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -31261,6 +31223,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/delete-webhook.md", "auth": { "Project": [] } @@ -31322,7 +31285,6 @@ "cookies": false, "type": "", "demo": "projects\/update-webhook-signature.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-webhook-signature.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -31332,6 +31294,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-webhook-signature.md", "auth": { "Project": [] } @@ -31393,7 +31356,6 @@ "cookies": false, "type": "", "demo": "proxy\/list-rules.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all the proxy rules. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -31479,7 +31441,6 @@ "cookies": false, "type": "", "demo": "proxy\/create-api-rule.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new proxy rule for serving Appwrite's API on custom domain.", "rate-limit": 10, "rate-time": 60, "rate-key": "userId:{userId}, url:{url}", @@ -31547,7 +31508,6 @@ "cookies": false, "type": "", "demo": "proxy\/create-function-rule.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new proxy rule for executing Appwrite Function on custom domain.", "rate-limit": 10, "rate-time": 60, "rate-key": "userId:{userId}, url:{url}", @@ -31626,7 +31586,6 @@ "cookies": false, "type": "", "demo": "proxy\/create-redirect-rule.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new proxy rule for to redirect from custom domain to another domain.", "rate-limit": 10, "rate-time": 60, "rate-key": "userId:{userId}, url:{url}", @@ -31740,7 +31699,6 @@ "cookies": false, "type": "", "demo": "proxy\/create-site-rule.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new proxy rule for serving Appwrite Site on custom domain.", "rate-limit": 10, "rate-time": 60, "rate-key": "userId:{userId}, url:{url}", @@ -31819,7 +31777,6 @@ "cookies": false, "type": "", "demo": "proxy\/get-rule.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a proxy rule by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -31871,7 +31828,6 @@ "cookies": false, "type": "", "demo": "proxy\/delete-rule.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a proxy rule by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -31932,7 +31888,6 @@ "cookies": false, "type": "", "demo": "proxy\/update-rule-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterRetry getting verification process of a proxy rule. This endpoint triggers domain verification by checking DNS records (CNAME) against the configured target domain. If verification is successful, a TLS certificate will be automatically provisioned for the domain.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -31993,7 +31948,6 @@ "cookies": false, "type": "", "demo": "sites\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all the project's sites. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32079,7 +32033,6 @@ "cookies": false, "type": "", "demo": "sites\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new site.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32333,7 +32286,6 @@ "cookies": false, "type": "", "demo": "sites\/list-frameworks.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all frameworks that are currently available on the server instance.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32384,7 +32336,6 @@ "cookies": false, "type": "", "demo": "sites\/list-specifications.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterList allowed site specifications for this instance.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32435,7 +32386,6 @@ "cookies": false, "type": "", "demo": "sites\/list-templates.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterList available site templates. You can use template details in [createSite](\/docs\/references\/cloud\/server-nodejs\/sites#create) method.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32565,7 +32515,6 @@ "cookies": false, "type": "", "demo": "sites\/get-template.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a site template using ID. You can use template details in [createSite](\/docs\/references\/cloud\/server-nodejs\/sites#create) method.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32626,7 +32575,6 @@ "cookies": false, "type": "", "demo": "sites\/list-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet usage metrics and statistics for all sites in the project. View statistics including total deployments, builds, logs, storage usage, and compute time. The response includes both current totals and historical data for each metric. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, defaults to 30 days.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32699,7 +32647,6 @@ "cookies": false, "type": "", "demo": "sites\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a site by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32760,7 +32707,6 @@ "cookies": false, "type": "", "demo": "sites\/update.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate site by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33010,7 +32956,6 @@ "cookies": false, "type": "", "demo": "sites\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a site by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33073,7 +33018,6 @@ "cookies": false, "type": "", "demo": "sites\/update-site-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate the site active deployment. Use this endpoint to switch the code deployment that should be used when visitor opens your site.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33155,7 +33099,6 @@ "cookies": false, "type": "", "demo": "sites\/list-deployments.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all the site's code deployments. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33251,7 +33194,6 @@ "cookies": false, "type": "upload", "demo": "sites\/create-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new site code deployment. Use this endpoint to upload a new version of your site code. To activate your newly uploaded code, you'll need to update the site's deployment to use your new deployment ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33357,7 +33299,6 @@ "cookies": false, "type": "", "demo": "sites\/create-duplicate-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new build for an existing site deployment. This endpoint allows you to rebuild a deployment with the updated site configuration, including its commands and output directory if they have been modified. The build process will be queued and executed asynchronously. The original deployment's code will be preserved and used for the new build.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33439,7 +33380,6 @@ "cookies": false, "type": "", "demo": "sites\/create-template-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a deployment based on a template.\n\nUse this endpoint with combination of [listTemplates](https:\/\/appwrite.io\/docs\/products\/sites\/templates) to find the template details.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33557,7 +33497,6 @@ "cookies": false, "type": "", "demo": "sites\/create-vcs-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a deployment when a site is connected to VCS.\n\nThis endpoint lets you create deployment from a branch, commit, or a tag.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33657,7 +33596,6 @@ "cookies": false, "type": "", "demo": "sites\/get-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a site deployment by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33721,7 +33659,6 @@ "cookies": false, "type": "", "demo": "sites\/delete-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a site deployment by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33787,7 +33724,6 @@ "cookies": false, "type": "location", "demo": "sites\/get-deployment-download.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a site deployment content by its unique ID. The endpoint response return with a 'Content-Disposition: attachment' header that tells the browser to start downloading the file to user downloads directory.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33879,7 +33815,6 @@ "cookies": false, "type": "", "demo": "sites\/update-deployment-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCancel an ongoing site deployment build. If the build is already in progress, it will be stopped and marked as canceled. If the build hasn't started yet, it will be marked as canceled without executing. You cannot cancel builds that have already completed (status 'ready') or failed. The response includes the final build status and details.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33952,7 +33887,6 @@ "cookies": false, "type": "", "demo": "sites\/list-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all site logs. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34039,7 +33973,6 @@ "cookies": false, "type": "", "demo": "sites\/get-log.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a site request log by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34103,7 +34036,6 @@ "cookies": false, "type": "", "demo": "sites\/delete-log.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a site log by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34176,7 +34108,6 @@ "cookies": false, "type": "", "demo": "sites\/get-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet usage metrics and statistics for a for a specific site. View statistics including total deployments, builds, executions, storage usage, and compute time. The response includes both current totals and historical data for each metric. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, defaults to 30 days.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34259,7 +34190,6 @@ "cookies": false, "type": "", "demo": "sites\/list-variables.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all variables of a specific site.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34320,7 +34250,6 @@ "cookies": false, "type": "", "demo": "sites\/create-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new site variable. These variables can be accessed during build and runtime (server-side rendering) as environment variables.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34413,7 +34342,6 @@ "cookies": false, "type": "", "demo": "sites\/get-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a variable by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34484,7 +34412,6 @@ "cookies": false, "type": "", "demo": "sites\/update-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate variable by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34579,7 +34506,6 @@ "cookies": false, "type": "", "demo": "sites\/delete-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a variable by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34652,7 +34578,6 @@ "cookies": false, "type": "", "demo": "storage\/list-buckets.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-buckets.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34663,6 +34588,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-buckets.md", "auth": { "Project": [] } @@ -34738,7 +34664,6 @@ "cookies": false, "type": "", "demo": "storage\/create-bucket.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-bucket.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34749,6 +34674,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-bucket.md", "auth": { "Project": [] } @@ -34873,7 +34799,6 @@ "cookies": false, "type": "", "demo": "storage\/get-bucket.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-bucket.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34884,6 +34809,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-bucket.md", "auth": { "Project": [] } @@ -34934,7 +34860,6 @@ "cookies": false, "type": "", "demo": "storage\/update-bucket.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/update-bucket.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34945,6 +34870,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/update-bucket.md", "auth": { "Project": [] } @@ -35066,7 +34992,6 @@ "cookies": false, "type": "", "demo": "storage\/delete-bucket.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/delete-bucket.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35077,6 +35002,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/delete-bucket.md", "auth": { "Project": [] } @@ -35129,7 +35055,6 @@ "cookies": false, "type": "", "demo": "storage\/list-files.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-files.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35142,6 +35067,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-files.md", "auth": { "Project": [] } @@ -35228,7 +35154,6 @@ "cookies": false, "type": "upload", "demo": "storage\/create-file.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-file.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId},chunkId:{chunkId}", @@ -35241,6 +35166,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-file.md", "auth": { "Project": [] } @@ -35329,7 +35255,6 @@ "cookies": false, "type": "", "demo": "storage\/get-file.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35342,6 +35267,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file.md", "auth": { "Project": [] } @@ -35403,7 +35329,6 @@ "cookies": false, "type": "", "demo": "storage\/update-file.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/update-file.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -35416,6 +35341,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/update-file.md", "auth": { "Project": [] } @@ -35496,7 +35422,6 @@ "cookies": false, "type": "", "demo": "storage\/delete-file.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/delete-file.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -35509,6 +35434,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/delete-file.md", "auth": { "Project": [] } @@ -35565,7 +35491,6 @@ "cookies": false, "type": "location", "demo": "storage\/get-file-download.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-download.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35578,6 +35503,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-download.md", "auth": { "Project": [] } @@ -35645,7 +35571,6 @@ "cookies": false, "type": "location", "demo": "storage\/get-file-preview.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-preview.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35658,6 +35583,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-preview.md", "auth": { "Project": [] } @@ -35875,7 +35801,6 @@ "cookies": false, "type": "location", "demo": "storage\/get-file-view.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-view.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35888,6 +35813,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-view.md", "auth": { "Project": [] } @@ -35962,7 +35888,6 @@ "cookies": false, "type": "", "demo": "storage\/get-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35972,6 +35897,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-usage.md", "auth": { "Project": [] } @@ -36035,7 +35961,6 @@ "cookies": false, "type": "", "demo": "storage\/get-bucket-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-bucket-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36045,6 +35970,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-bucket-usage.md", "auth": { "Project": [] } @@ -36118,7 +36044,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36129,6 +36054,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list.md", "auth": { "Project": [] } @@ -36204,7 +36130,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36215,6 +36140,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create.md", "auth": { "Project": [] } @@ -36285,7 +36211,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-transactions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-transactions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36301,6 +36226,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-transactions.md", "auth": { "Project": [] } @@ -36355,7 +36281,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36371,6 +36296,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-transaction.md", "auth": { "Project": [] } @@ -36428,7 +36354,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36444,6 +36369,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-transaction.md", "auth": { "Project": [] } @@ -36495,7 +36421,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36511,6 +36436,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-transaction.md", "auth": { "Project": [] } @@ -36576,7 +36502,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36592,6 +36517,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-transaction.md", "auth": { "Project": [] } @@ -36645,7 +36571,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-operations.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-operations.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36661,6 +36586,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-operations.md", "auth": { "Project": [] } @@ -36733,7 +36659,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36746,6 +36671,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-usage.md", "methods": [ { "name": "listUsage", @@ -36832,7 +36758,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36843,6 +36768,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get.md", "auth": { "Project": [] } @@ -36893,7 +36819,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36904,6 +36829,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update.md", "auth": { "Project": [] } @@ -36971,7 +36897,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36982,6 +36907,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete.md", "auth": { "Project": [] } @@ -37034,7 +36960,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-tables.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-tables.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37048,6 +36973,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-tables.md", "auth": { "Project": [] } @@ -37133,7 +37059,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-table.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-table.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37147,6 +37072,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-table.md", "auth": { "Project": [] } @@ -37259,7 +37185,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-table.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-table.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37273,6 +37198,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-table.md", "auth": { "Project": [] } @@ -37333,7 +37259,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-table.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-table.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37347,6 +37272,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-table.md", "auth": { "Project": [] } @@ -37438,7 +37364,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-table.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-table.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37452,6 +37377,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-table.md", "auth": { "Project": [] } @@ -37514,7 +37440,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-columns.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-columns.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37528,6 +37453,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-columns.md", "auth": { "Project": [] } @@ -37614,7 +37540,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-boolean-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-boolean-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37628,6 +37553,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-boolean-column.md", "auth": { "Project": [] } @@ -37726,7 +37652,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-boolean-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-boolean-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37740,6 +37665,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-boolean-column.md", "auth": { "Project": [] } @@ -37843,7 +37769,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-datetime-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-datetime-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37857,6 +37782,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-datetime-column.md", "auth": { "Project": [] } @@ -37955,7 +37881,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-datetime-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-datetime-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37969,6 +37894,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-datetime-column.md", "auth": { "Project": [] } @@ -38072,7 +37998,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-email-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-email-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -38086,6 +38011,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-email-column.md", "auth": { "Project": [] } @@ -38184,7 +38110,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-email-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-email-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -38198,6 +38123,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-email-column.md", "auth": { "Project": [] } @@ -38301,7 +38227,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-enum-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-enum-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -38315,6 +38240,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-enum-column.md", "auth": { "Project": [] } @@ -38422,7 +38348,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-enum-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-enum-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -38436,6 +38361,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-enum-column.md", "auth": { "Project": [] } @@ -38548,7 +38474,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-float-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-float-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -38562,6 +38487,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-float-column.md", "auth": { "Project": [] } @@ -38672,7 +38598,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-float-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-float-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -38686,6 +38611,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-float-column.md", "auth": { "Project": [] } @@ -38801,7 +38727,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-integer-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-integer-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -38815,6 +38740,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-integer-column.md", "auth": { "Project": [] } @@ -38925,7 +38851,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-integer-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-integer-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -38939,6 +38864,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-integer-column.md", "auth": { "Project": [] } @@ -39054,7 +38980,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-ip-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-ip-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -39068,6 +38993,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-ip-column.md", "auth": { "Project": [] } @@ -39166,7 +39092,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-ip-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-ip-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -39180,6 +39105,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-ip-column.md", "auth": { "Project": [] } @@ -39283,7 +39209,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-line-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-line-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -39297,6 +39222,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-line-column.md", "auth": { "Project": [] } @@ -39397,7 +39323,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-line-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-line-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -39411,6 +39336,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-line-column.md", "auth": { "Project": [] } @@ -39520,7 +39446,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-point-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-point-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -39534,6 +39459,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-point-column.md", "auth": { "Project": [] } @@ -39634,7 +39560,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-point-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-point-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -39648,6 +39573,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-point-column.md", "auth": { "Project": [] } @@ -39757,7 +39683,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-polygon-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-polygon-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -39771,6 +39696,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-polygon-column.md", "auth": { "Project": [] } @@ -39871,7 +39797,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-polygon-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-polygon-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -39885,6 +39810,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-polygon-column.md", "auth": { "Project": [] } @@ -39994,7 +39920,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-relationship-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-relationship-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -40008,6 +39933,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-relationship-column.md", "auth": { "Project": [] } @@ -40132,7 +40058,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-string-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-string-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -40146,6 +40071,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-string-column.md", "auth": { "Project": [] } @@ -40255,7 +40181,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-string-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-string-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -40269,6 +40194,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-string-column.md", "auth": { "Project": [] } @@ -40378,7 +40304,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-url-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-url-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -40392,6 +40317,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-url-column.md", "auth": { "Project": [] } @@ -40490,7 +40416,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-url-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-url-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -40504,6 +40429,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-url-column.md", "auth": { "Project": [] } @@ -40638,7 +40564,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -40652,6 +40577,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-column.md", "auth": { "Project": [] } @@ -40714,7 +40640,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -40728,6 +40653,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-column.md", "auth": { "Project": [] } @@ -40799,7 +40725,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-relationship-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-relationship-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -40813,6 +40738,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-relationship-column.md", "auth": { "Project": [] } @@ -40914,7 +40840,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-indexes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-indexes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -40928,6 +40853,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-indexes.md", "auth": { "Project": [] } @@ -41012,7 +40938,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-index.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -41026,6 +40951,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-index.md", "auth": { "Project": [] } @@ -41152,7 +41078,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-index.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -41166,6 +41091,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-index.md", "auth": { "Project": [] } @@ -41228,7 +41154,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-index.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -41242,6 +41167,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-index.md", "auth": { "Project": [] } @@ -41313,7 +41239,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-table-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-table-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -41326,6 +41251,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-table-logs.md", "auth": { "Project": [] } @@ -41400,7 +41326,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-rows.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-rows.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -41416,6 +41341,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-rows.md", "auth": { "Project": [] } @@ -41511,7 +41437,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-row.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -41527,6 +41452,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-row.md", "methods": [ { "name": "createRow", @@ -41693,7 +41619,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/upsert-rows.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/upsert-rows.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -41707,6 +41632,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/upsert-rows.md", "methods": [ { "name": "upsertRows", @@ -41825,7 +41751,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-rows.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-rows.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -41839,6 +41764,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-rows.md", "auth": { "Project": [] } @@ -41929,7 +41855,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-rows.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-rows.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -41943,6 +41868,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-rows.md", "auth": { "Project": [] } @@ -42030,7 +41956,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-row.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -42046,6 +41971,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-row.md", "auth": { "Project": [] } @@ -42140,7 +42066,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/upsert-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/upsert-row.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -42156,6 +42081,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/upsert-row.md", "methods": [ { "name": "upsertRow", @@ -42290,7 +42216,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-row.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -42306,6 +42231,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-row.md", "auth": { "Project": [] } @@ -42401,7 +42327,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-row.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -42417,6 +42342,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-row.md", "auth": { "Project": [] } @@ -42507,7 +42433,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-row-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-row-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -42520,6 +42445,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-row-logs.md", "auth": { "Project": [] } @@ -42604,7 +42530,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/decrement-row-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/decrement-row-column.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -42620,6 +42545,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/decrement-row-column.md", "auth": { "Project": [] } @@ -42730,7 +42656,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/increment-row-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/increment-row-column.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -42746,6 +42671,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/increment-row-column.md", "auth": { "Project": [] } @@ -42856,7 +42782,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-table-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-table-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -42869,6 +42794,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-table-usage.md", "auth": { "Project": [] } @@ -42952,7 +42878,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-database-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -42965,6 +42890,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-database-usage.md", "methods": [ { "name": "getUsage", @@ -43064,7 +42990,6 @@ "cookies": false, "type": "", "demo": "teams\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-teams.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -43077,6 +43002,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-teams.md", "auth": { "Project": [] } @@ -43153,7 +43079,6 @@ "cookies": false, "type": "", "demo": "teams\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -43166,6 +43091,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team.md", "auth": { "Project": [] } @@ -43240,7 +43166,6 @@ "cookies": false, "type": "", "demo": "teams\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -43253,6 +43178,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team.md", "auth": { "Project": [] } @@ -43304,7 +43230,6 @@ "cookies": false, "type": "", "demo": "teams\/update-name.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-name.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -43317,6 +43242,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-name.md", "auth": { "Project": [] } @@ -43380,7 +43306,6 @@ "cookies": false, "type": "", "demo": "teams\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -43393,6 +43318,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team.md", "auth": { "Project": [] } @@ -43446,7 +43372,6 @@ "cookies": false, "type": "", "demo": "teams\/list-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -43456,6 +43381,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-logs.md", "auth": { "Project": [] } @@ -43531,7 +43457,6 @@ "cookies": false, "type": "", "demo": "teams\/list-memberships.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-team-members.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -43544,6 +43469,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-team-members.md", "auth": { "Project": [] } @@ -43630,7 +43556,6 @@ "cookies": false, "type": "", "demo": "teams\/create-membership.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team-membership.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -43643,6 +43568,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team-membership.md", "auth": { "Project": [] } @@ -43750,7 +43676,6 @@ "cookies": false, "type": "", "demo": "teams\/get-membership.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-member.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -43763,6 +43688,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-member.md", "auth": { "Project": [] } @@ -43824,7 +43750,6 @@ "cookies": false, "type": "", "demo": "teams\/update-membership.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -43837,6 +43762,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership.md", "auth": { "Project": [] } @@ -43920,7 +43846,6 @@ "cookies": false, "type": "", "demo": "teams\/delete-membership.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team-membership.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -43933,6 +43858,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team-membership.md", "auth": { "Project": [] } @@ -43996,7 +43922,6 @@ "cookies": false, "type": "", "demo": "teams\/update-membership-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -44008,6 +43933,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership-status.md", "auth": { "Project": [] } @@ -44095,7 +44021,6 @@ "cookies": false, "type": "", "demo": "teams\/get-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -44107,6 +44032,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-prefs.md", "auth": { "Project": [] } @@ -44157,7 +44083,6 @@ "cookies": false, "type": "", "demo": "teams\/update-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -44169,6 +44094,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-prefs.md", "auth": { "Project": [] } @@ -44240,7 +44166,6 @@ "cookies": false, "type": "", "demo": "tokens\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterList all the tokens created for a specific file or bucket. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -44335,7 +44260,6 @@ "cookies": false, "type": "", "demo": "tokens\/create-file-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new token. A token is linked to a file. Token can be passed as a request URL search parameter.", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -44425,7 +44349,6 @@ "cookies": false, "type": "", "demo": "tokens\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a token by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -44486,7 +44409,6 @@ "cookies": false, "type": "", "demo": "tokens\/update.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate a token by its unique ID. Use this endpoint to update a token's expiry date.", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -44557,7 +44479,6 @@ "cookies": false, "type": "", "demo": "tokens\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a token by its unique ID.", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -44620,7 +44541,6 @@ "cookies": false, "type": "", "demo": "users\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-users.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -44631,6 +44551,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-users.md", "auth": { "Project": [] } @@ -44706,7 +44627,6 @@ "cookies": false, "type": "", "demo": "users\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -44717,6 +44637,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-user.md", "auth": { "Project": [] } @@ -44798,7 +44719,6 @@ "cookies": false, "type": "", "demo": "users\/create-argon-2-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-argon2-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -44809,6 +44729,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-argon2-user.md", "auth": { "Project": [] } @@ -44885,7 +44806,6 @@ "cookies": false, "type": "", "demo": "users\/create-bcrypt-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-bcrypt-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -44896,6 +44816,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-bcrypt-user.md", "auth": { "Project": [] } @@ -44972,7 +44893,6 @@ "cookies": false, "type": "", "demo": "users\/list-identities.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-identities.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -44983,6 +44903,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-identities.md", "auth": { "Project": [] } @@ -45053,7 +44974,6 @@ "cookies": false, "type": "", "demo": "users\/delete-identity.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-identity.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -45064,6 +44984,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-identity.md", "auth": { "Project": [] } @@ -45116,7 +45037,6 @@ "cookies": false, "type": "", "demo": "users\/create-md-5-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-md5-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -45127,6 +45047,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-md5-user.md", "auth": { "Project": [] } @@ -45203,7 +45124,6 @@ "cookies": false, "type": "", "demo": "users\/create-ph-pass-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-phpass-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -45214,6 +45134,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-phpass-user.md", "auth": { "Project": [] } @@ -45290,7 +45211,6 @@ "cookies": false, "type": "", "demo": "users\/create-scrypt-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-scrypt-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -45301,6 +45221,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-scrypt-user.md", "auth": { "Project": [] } @@ -45407,7 +45328,6 @@ "cookies": false, "type": "", "demo": "users\/create-scrypt-modified-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-scrypt-modified-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -45418,6 +45338,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-scrypt-modified-user.md", "auth": { "Project": [] } @@ -45512,7 +45433,6 @@ "cookies": false, "type": "", "demo": "users\/create-sha-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-sha-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -45523,6 +45443,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-sha-user.md", "auth": { "Project": [] } @@ -45619,7 +45540,6 @@ "cookies": false, "type": "", "demo": "users\/get-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -45629,6 +45549,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-usage.md", "auth": { "Project": [] } @@ -45692,7 +45613,6 @@ "cookies": false, "type": "", "demo": "users\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -45703,6 +45623,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user.md", "auth": { "Project": [] } @@ -45746,7 +45667,6 @@ "cookies": false, "type": "", "demo": "users\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -45757,6 +45677,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete.md", "auth": { "Project": [] } @@ -45809,7 +45730,6 @@ "cookies": false, "type": "", "demo": "users\/update-email.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-email.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -45820,6 +45740,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-email.md", "auth": { "Project": [] } @@ -45891,7 +45812,6 @@ "cookies": false, "type": "", "demo": "users\/create-jwt.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-user-jwt.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -45902,6 +45822,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-user-jwt.md", "auth": { "Project": [] } @@ -45975,7 +45896,6 @@ "cookies": false, "type": "", "demo": "users\/update-labels.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-labels.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -45986,6 +45906,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-labels.md", "auth": { "Project": [] } @@ -46060,7 +45981,6 @@ "cookies": false, "type": "", "demo": "users\/list-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -46071,6 +45991,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-logs.md", "auth": { "Project": [] } @@ -46147,7 +46068,6 @@ "cookies": false, "type": "", "demo": "users\/list-memberships.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-memberships.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -46158,6 +46078,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-memberships.md", "auth": { "Project": [] } @@ -46245,7 +46166,6 @@ "cookies": false, "type": "", "demo": "users\/update-mfa.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-mfa.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -46256,6 +46176,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-mfa.md", "deprecated": { "since": "1.8.0", "replaceWith": "users.updateMFA" @@ -46380,7 +46301,6 @@ "cookies": false, "type": "", "demo": "users\/delete-mfa-authenticator.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-mfa-authenticator.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -46391,6 +46311,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-mfa-authenticator.md", "deprecated": { "since": "1.8.0", "replaceWith": "users.deleteMFAAuthenticator" @@ -46516,7 +46437,6 @@ "cookies": false, "type": "", "demo": "users\/list-mfa-factors.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-mfa-factors.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -46527,6 +46447,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-mfa-factors.md", "deprecated": { "since": "1.8.0", "replaceWith": "users.listMFAFactors" @@ -46635,7 +46556,6 @@ "cookies": false, "type": "", "demo": "users\/get-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -46646,6 +46566,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "users.getMFARecoveryCodes" @@ -46752,7 +46673,6 @@ "cookies": false, "type": "", "demo": "users\/update-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -46763,6 +46683,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "users.updateMFARecoveryCodes" @@ -46869,7 +46790,6 @@ "cookies": false, "type": "", "demo": "users\/create-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -46880,6 +46800,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "users.createMFARecoveryCodes" @@ -46988,7 +46909,6 @@ "cookies": false, "type": "", "demo": "users\/update-name.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-name.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -46999,6 +46919,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-name.md", "auth": { "Project": [] } @@ -47070,7 +46991,6 @@ "cookies": false, "type": "", "demo": "users\/update-password.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-password.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47081,6 +47001,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-password.md", "auth": { "Project": [] } @@ -47152,7 +47073,6 @@ "cookies": false, "type": "", "demo": "users\/update-phone.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-phone.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47163,6 +47083,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-phone.md", "auth": { "Project": [] } @@ -47234,7 +47155,6 @@ "cookies": false, "type": "", "demo": "users\/get-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47245,6 +47165,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user-prefs.md", "auth": { "Project": [] } @@ -47295,7 +47216,6 @@ "cookies": false, "type": "", "demo": "users\/update-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47306,6 +47226,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-prefs.md", "auth": { "Project": [] } @@ -47377,7 +47298,6 @@ "cookies": false, "type": "", "demo": "users\/list-sessions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-sessions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47388,6 +47308,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-sessions.md", "auth": { "Project": [] } @@ -47449,7 +47370,6 @@ "cookies": false, "type": "", "demo": "users\/create-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-session.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47460,6 +47380,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-session.md", "auth": { "Project": [] } @@ -47503,7 +47424,6 @@ "cookies": false, "type": "", "demo": "users\/delete-sessions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-user-sessions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47514,6 +47434,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-user-sessions.md", "auth": { "Project": [] } @@ -47559,7 +47480,6 @@ "cookies": false, "type": "", "demo": "users\/delete-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-user-session.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47570,6 +47490,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-user-session.md", "auth": { "Project": [] } @@ -47632,7 +47553,6 @@ "cookies": false, "type": "", "demo": "users\/update-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47643,6 +47563,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-status.md", "auth": { "Project": [] } @@ -47714,7 +47635,6 @@ "cookies": false, "type": "", "demo": "users\/list-targets.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-targets.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47725,6 +47645,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-targets.md", "auth": { "Project": [] } @@ -47799,7 +47720,6 @@ "cookies": false, "type": "", "demo": "users\/create-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47810,6 +47730,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-target.md", "auth": { "Project": [] } @@ -47910,7 +47831,6 @@ "cookies": false, "type": "", "demo": "users\/get-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47921,6 +47841,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user-target.md", "auth": { "Project": [] } @@ -47981,7 +47902,6 @@ "cookies": false, "type": "", "demo": "users\/update-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47992,6 +47912,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-target.md", "auth": { "Project": [] } @@ -48071,7 +47992,6 @@ "cookies": false, "type": "", "demo": "users\/delete-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -48082,6 +48002,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-target.md", "auth": { "Project": [] } @@ -48144,7 +48065,6 @@ "cookies": false, "type": "", "demo": "users\/create-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-token.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -48155,6 +48075,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-token.md", "auth": { "Project": [] } @@ -48228,7 +48149,6 @@ "cookies": false, "type": "", "demo": "users\/update-email-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-email-verification.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -48239,6 +48159,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-email-verification.md", "auth": { "Project": [] } @@ -48310,7 +48231,6 @@ "cookies": false, "type": "", "demo": "users\/update-phone-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-phone-verification.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -48321,6 +48241,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-phone-verification.md", "auth": { "Project": [] } @@ -48392,7 +48313,6 @@ "cookies": false, "type": "", "demo": "vcs\/create-repository-detection.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/create-repository-detection.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -48402,6 +48322,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/create-repository-detection.md", "auth": { "Project": [] } @@ -48489,7 +48410,6 @@ "cookies": false, "type": "", "demo": "vcs\/list-repositories.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/list-repositories.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -48499,6 +48419,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/list-repositories.md", "auth": { "Project": [] } @@ -48588,7 +48509,6 @@ "cookies": false, "type": "", "demo": "vcs\/create-repository.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/create-repository.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -48598,6 +48518,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/create-repository.md", "auth": { "Project": [] } @@ -48674,7 +48595,6 @@ "cookies": false, "type": "", "demo": "vcs\/get-repository.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/get-repository.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -48684,6 +48604,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/get-repository.md", "auth": { "Project": [] } @@ -48745,7 +48666,6 @@ "cookies": false, "type": "", "demo": "vcs\/list-repository-branches.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/list-repository-branches.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -48755,6 +48675,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/list-repository-branches.md", "auth": { "Project": [] } @@ -48816,7 +48737,6 @@ "cookies": false, "type": "", "demo": "vcs\/get-repository-contents.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/get-repository-contents.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -48826,6 +48746,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/get-repository-contents.md", "auth": { "Project": [] } @@ -48902,7 +48823,6 @@ "cookies": false, "type": "", "demo": "vcs\/update-external-deployments.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/update-external-deployments.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -48912,6 +48832,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/update-external-deployments.md", "auth": { "Project": [] } @@ -48992,7 +48913,6 @@ "cookies": false, "type": "", "demo": "vcs\/list-installations.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/list-installations.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -49002,6 +48922,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/list-installations.md", "auth": { "Project": [] } @@ -49078,7 +48999,6 @@ "cookies": false, "type": "", "demo": "vcs\/get-installation.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/get-installation.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -49088,6 +49008,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/get-installation.md", "auth": { "Project": [] } @@ -49130,7 +49051,6 @@ "cookies": false, "type": "", "demo": "vcs\/delete-installation.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/delete-installation.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -49140,6 +49060,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/delete-installation.md", "auth": { "Project": [] } diff --git a/app/config/specs/open-api3-latest-server.json b/app/config/specs/open-api3-latest-server.json index 11236f404b..57c9d6ac31 100644 --- a/app/config/specs/open-api3-latest-server.json +++ b/app/config/specs/open-api3-latest-server.json @@ -52,7 +52,6 @@ "cookies": false, "type": "", "demo": "account\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -64,6 +63,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get.md", "auth": { "Project": [], "Session": [] @@ -104,7 +104,6 @@ "cookies": false, "type": "", "demo": "account\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -116,6 +115,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create.md", "auth": { "Project": [], "Session": [] @@ -194,7 +194,6 @@ "cookies": false, "type": "", "demo": "account\/update-email.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-email.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -206,6 +205,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-email.md", "auth": { "Project": [], "Session": [] @@ -273,7 +273,6 @@ "cookies": false, "type": "", "demo": "account\/list-identities.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-identities.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -285,6 +284,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-identities.md", "auth": { "Project": [], "Session": [] @@ -346,7 +346,6 @@ "cookies": false, "type": "", "demo": "account\/delete-identity.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-identity.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -358,6 +357,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-identity.md", "auth": { "Project": [], "Session": [] @@ -412,7 +412,6 @@ "cookies": false, "type": "", "demo": "account\/create-jwt.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-jwt.md", "rate-limit": 100, "rate-time": 3600, "rate-key": "url:{url},userId:{userId}", @@ -424,6 +423,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-jwt.md", "auth": { "Project": [], "Session": [] @@ -466,7 +466,6 @@ "cookies": false, "type": "", "demo": "account\/list-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -478,6 +477,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-logs.md", "auth": { "Project": [], "Session": [] @@ -546,7 +546,6 @@ "cookies": false, "type": "", "demo": "account\/update-mfa.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -558,6 +557,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa.md", "auth": { "Project": [], "Session": [] @@ -619,7 +619,6 @@ "cookies": false, "type": "", "demo": "account\/create-mfa-authenticator.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-authenticator.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -631,6 +630,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-authenticator.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.createMFAAuthenticator" @@ -746,7 +746,6 @@ "cookies": false, "type": "", "demo": "account\/update-mfa-authenticator.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-authenticator.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -758,6 +757,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-authenticator.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.updateMFAAuthenticator" @@ -889,7 +889,6 @@ "cookies": false, "type": "", "demo": "account\/delete-mfa-authenticator.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-mfa-authenticator.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -901,6 +900,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-mfa-authenticator.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.deleteMFAAuthenticator" @@ -1016,7 +1016,6 @@ "cookies": false, "type": "", "demo": "account\/create-mfa-challenge.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-challenge.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},userId:{userId}", @@ -1028,6 +1027,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-challenge.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.createMFAChallenge" @@ -1153,7 +1153,6 @@ "cookies": false, "type": "", "demo": "account\/update-mfa-challenge.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-challenge.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},challengeId:{param-challengeId}", @@ -1165,6 +1164,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-challenge.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.updateMFAChallenge" @@ -1294,7 +1294,6 @@ "cookies": false, "type": "", "demo": "account\/list-mfa-factors.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-mfa-factors.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1306,6 +1305,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-mfa-factors.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.listMFAFactors" @@ -1398,7 +1398,6 @@ "cookies": false, "type": "", "demo": "account\/get-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1410,6 +1409,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.getMFARecoveryCodes" @@ -1500,7 +1500,6 @@ "cookies": false, "type": "", "demo": "account\/create-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1512,6 +1511,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.createMFARecoveryCodes" @@ -1602,7 +1602,6 @@ "cookies": false, "type": "", "demo": "account\/update-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1614,6 +1613,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.updateMFARecoveryCodes" @@ -1706,7 +1706,6 @@ "cookies": false, "type": "", "demo": "account\/update-name.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-name.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1718,6 +1717,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-name.md", "auth": { "Project": [], "Session": [] @@ -1779,7 +1779,6 @@ "cookies": false, "type": "", "demo": "account\/update-password.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-password.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1791,6 +1790,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-password.md", "auth": { "Project": [], "Session": [] @@ -1857,7 +1857,6 @@ "cookies": false, "type": "", "demo": "account\/update-phone.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-phone.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1869,6 +1868,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-phone.md", "auth": { "Project": [], "Session": [] @@ -1936,7 +1936,6 @@ "cookies": false, "type": "", "demo": "account\/get-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1948,6 +1947,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-prefs.md", "auth": { "Project": [], "Session": [] @@ -1988,7 +1988,6 @@ "cookies": false, "type": "", "demo": "account\/update-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2000,6 +1999,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-prefs.md", "auth": { "Project": [], "Session": [] @@ -2061,7 +2061,6 @@ "cookies": false, "type": "", "demo": "account\/create-recovery.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-recovery.md", "rate-limit": 10, "rate-time": 3600, "rate-key": [ @@ -2076,6 +2075,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-recovery.md", "auth": { "Project": [], "Session": [] @@ -2141,7 +2141,6 @@ "cookies": false, "type": "", "demo": "account\/update-recovery.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-recovery.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},userId:{param-userId}", @@ -2153,6 +2152,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-recovery.md", "auth": { "Project": [], "Session": [] @@ -2226,7 +2226,6 @@ "cookies": false, "type": "", "demo": "account\/list-sessions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-sessions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2238,6 +2237,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-sessions.md", "auth": { "Project": [], "Session": [] @@ -2271,7 +2271,6 @@ "cookies": false, "type": "", "demo": "account\/delete-sessions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-sessions.md", "rate-limit": 100, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2283,6 +2282,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-sessions.md", "auth": { "Project": [], "Session": [] @@ -2325,7 +2325,6 @@ "cookies": false, "type": "", "demo": "account\/create-anonymous-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-anonymous.md", "rate-limit": 50, "rate-time": 3600, "rate-key": "ip:{ip}", @@ -2337,6 +2336,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-anonymous.md", "auth": { "Project": [], "Session": [] @@ -2379,7 +2379,6 @@ "cookies": false, "type": "", "demo": "account\/create-email-password-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-email-password.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},email:{param-email}", @@ -2391,6 +2390,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-email-password.md", "auth": { "Project": [], "Session": [] @@ -2458,7 +2458,6 @@ "cookies": false, "type": "", "demo": "account\/update-magic-url-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "ip:{ip},userId:{param-userId}", @@ -2470,6 +2469,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "deprecated": { "since": "1.6.0", "replaceWith": "account.createSession" @@ -2541,7 +2541,6 @@ "cookies": false, "type": "", "demo": "account\/update-phone-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "ip:{ip},userId:{param-userId}", @@ -2553,6 +2552,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "deprecated": { "since": "1.6.0", "replaceWith": "account.createSession" @@ -2624,7 +2624,6 @@ "cookies": false, "type": "", "demo": "account\/create-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "ip:{ip},userId:{param-userId}", @@ -2636,6 +2635,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "auth": { "Project": [], "Session": [] @@ -2703,7 +2703,6 @@ "cookies": false, "type": "", "demo": "account\/get-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-session.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2715,6 +2714,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-session.md", "auth": { "Project": [], "Session": [] @@ -2767,7 +2767,6 @@ "cookies": false, "type": "", "demo": "account\/update-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-session.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2779,6 +2778,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-session.md", "auth": { "Project": [], "Session": [] @@ -2824,7 +2824,6 @@ "cookies": false, "type": "", "demo": "account\/delete-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-session.md", "rate-limit": 100, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2836,6 +2835,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-session.md", "auth": { "Project": [], "Session": [] @@ -2890,7 +2890,6 @@ "cookies": false, "type": "", "demo": "account\/update-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2902,6 +2901,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-status.md", "auth": { "Project": [], "Session": [] @@ -2944,7 +2944,6 @@ "cookies": false, "type": "", "demo": "account\/create-email-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-email.md", "rate-limit": 10, "rate-time": 3600, "rate-key": [ @@ -2959,6 +2958,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-email.md", "auth": { "Project": [], "Session": [] @@ -3031,7 +3031,6 @@ "cookies": false, "type": "", "demo": "account\/create-magic-url-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-magic-url.md", "rate-limit": 60, "rate-time": 3600, "rate-key": [ @@ -3046,6 +3045,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-magic-url.md", "auth": { "Project": [], "Session": [] @@ -3116,7 +3116,6 @@ "cookies": false, "type": "webAuth", "demo": "account\/create-o-auth-2-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-oauth2.md", "rate-limit": 50, "rate-time": 3600, "rate-key": "ip:{ip}", @@ -3128,6 +3127,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-oauth2.md", "auth": { "Project": [], "Session": [] @@ -3263,7 +3263,6 @@ "cookies": false, "type": "", "demo": "account\/create-phone-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-phone.md", "rate-limit": 10, "rate-time": 3600, "rate-key": [ @@ -3278,6 +3277,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-phone.md", "auth": { "Project": [], "Session": [] @@ -3345,7 +3345,6 @@ "cookies": false, "type": "", "demo": "account\/create-email-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-email-verification.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},userId:{userId}", @@ -3357,6 +3356,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-email-verification.md", "methods": [ { "name": "createEmailVerification", @@ -3470,7 +3470,6 @@ "cookies": false, "type": "", "demo": "account\/update-email-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-email-verification.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},userId:{param-userId}", @@ -3482,6 +3481,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-email-verification.md", "methods": [ { "name": "updateEmailVerification", @@ -3607,7 +3607,6 @@ "cookies": false, "type": "", "demo": "account\/create-phone-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-phone-verification.md", "rate-limit": 10, "rate-time": 3600, "rate-key": [ @@ -3622,6 +3621,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-phone-verification.md", "auth": { "Project": [], "Session": [] @@ -3662,7 +3662,6 @@ "cookies": false, "type": "", "demo": "account\/update-phone-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-phone-verification.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "userId:{param-userId}", @@ -3674,6 +3673,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-phone-verification.md", "auth": { "Project": [], "Session": [] @@ -3734,7 +3734,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-browser.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-browser.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -3747,6 +3746,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-browser.md", "auth": { "Project": [], "Session": [] @@ -3864,7 +3864,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-credit-card.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-credit-card.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -3877,6 +3876,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-credit-card.md", "auth": { "Project": [], "Session": [] @@ -4000,7 +4000,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-favicon.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-favicon.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4013,6 +4012,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-favicon.md", "auth": { "Project": [], "Session": [] @@ -4062,7 +4062,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-flag.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-flag.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4075,6 +4074,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-flag.md", "auth": { "Project": [], "Session": [] @@ -4554,7 +4554,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-image.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-image.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4567,6 +4566,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-image.md", "auth": { "Project": [], "Session": [] @@ -4640,7 +4640,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-initials.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-initials.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4653,6 +4652,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-initials.md", "auth": { "Project": [], "Session": [] @@ -4736,7 +4736,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-qr.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-qr.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4749,6 +4748,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-qr.md", "auth": { "Project": [], "Session": [] @@ -4832,7 +4832,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-screenshot.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-screenshot.md", "rate-limit": 60, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4845,6 +4844,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-screenshot.md", "auth": { "Project": [], "Session": [] @@ -5587,7 +5587,6 @@ "cookies": false, "type": "", "demo": "databases\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -5598,6 +5597,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.list" @@ -5708,7 +5708,6 @@ "cookies": false, "type": "", "demo": "databases\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -5719,6 +5718,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.create" @@ -5827,7 +5827,6 @@ "cookies": false, "type": "", "demo": "databases\/list-transactions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-transactions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -5840,6 +5839,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-transactions.md", "auth": { "Project": [], "Key": [] @@ -5896,7 +5896,6 @@ "cookies": false, "type": "", "demo": "databases\/create-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -5909,6 +5908,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-transaction.md", "auth": { "Project": [], "Key": [] @@ -5968,7 +5968,6 @@ "cookies": false, "type": "", "demo": "databases\/get-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -5981,6 +5980,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-transaction.md", "auth": { "Project": [], "Key": [] @@ -6034,7 +6034,6 @@ "cookies": false, "type": "", "demo": "databases\/update-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6047,6 +6046,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-transaction.md", "auth": { "Project": [], "Key": [] @@ -6114,7 +6114,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6127,6 +6126,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-transaction.md", "auth": { "Project": [], "Key": [] @@ -6182,7 +6182,6 @@ "cookies": false, "type": "", "demo": "databases\/create-operations.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-operations.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6195,6 +6194,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-operations.md", "auth": { "Project": [], "Key": [] @@ -6269,7 +6269,6 @@ "cookies": false, "type": "", "demo": "databases\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6280,6 +6279,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.get" @@ -6365,7 +6365,6 @@ "cookies": false, "type": "", "demo": "databases\/update.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6376,6 +6375,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.update" @@ -6481,7 +6481,6 @@ "cookies": false, "type": "", "demo": "databases\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6492,6 +6491,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.delete" @@ -6578,7 +6578,6 @@ "cookies": false, "type": "", "demo": "databases\/list-collections.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-collections.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6589,6 +6588,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-collections.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.listTables" @@ -6679,7 +6679,6 @@ "cookies": false, "type": "", "demo": "databases\/create-collection.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-collection.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6690,6 +6689,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-collection.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createTable" @@ -6807,7 +6807,6 @@ "cookies": false, "type": "", "demo": "databases\/get-collection.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-collection.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6818,6 +6817,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-collection.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.getTable" @@ -6883,7 +6883,6 @@ "cookies": false, "type": "", "demo": "databases\/update-collection.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-collection.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6894,6 +6893,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-collection.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateTable" @@ -6990,7 +6990,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-collection.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-collection.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7001,6 +7000,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-collection.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.deleteTable" @@ -7068,7 +7068,6 @@ "cookies": false, "type": "", "demo": "databases\/list-attributes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-attributes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7079,6 +7078,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-attributes.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.listColumns" @@ -7170,7 +7170,6 @@ "cookies": false, "type": "", "demo": "databases\/create-boolean-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-boolean-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7181,6 +7180,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-boolean-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createBooleanColumn" @@ -7284,7 +7284,6 @@ "cookies": false, "type": "", "demo": "databases\/update-boolean-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-boolean-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7295,6 +7294,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-boolean-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateBooleanColumn" @@ -7403,7 +7403,6 @@ "cookies": false, "type": "", "demo": "databases\/create-datetime-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-datetime-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7414,6 +7413,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-datetime-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createDatetimeColumn" @@ -7517,7 +7517,6 @@ "cookies": false, "type": "", "demo": "databases\/update-datetime-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-datetime-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7528,6 +7527,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-datetime-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateDatetimeColumn" @@ -7636,7 +7636,6 @@ "cookies": false, "type": "", "demo": "databases\/create-email-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-email-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7647,6 +7646,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-email-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createEmailColumn" @@ -7750,7 +7750,6 @@ "cookies": false, "type": "", "demo": "databases\/update-email-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-email-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7761,6 +7760,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-email-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateEmailColumn" @@ -7869,7 +7869,6 @@ "cookies": false, "type": "", "demo": "databases\/create-enum-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-enum-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7880,6 +7879,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-enum-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createEnumColumn" @@ -7992,7 +7992,6 @@ "cookies": false, "type": "", "demo": "databases\/update-enum-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-enum-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8003,6 +8002,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-enum-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateEnumColumn" @@ -8120,7 +8120,6 @@ "cookies": false, "type": "", "demo": "databases\/create-float-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-float-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8131,6 +8130,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-float-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createFloatColumn" @@ -8246,7 +8246,6 @@ "cookies": false, "type": "", "demo": "databases\/update-float-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-float-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8257,6 +8256,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-float-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateFloatColumn" @@ -8377,7 +8377,6 @@ "cookies": false, "type": "", "demo": "databases\/create-integer-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-integer-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8388,6 +8387,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-integer-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createIntegerColumn" @@ -8503,7 +8503,6 @@ "cookies": false, "type": "", "demo": "databases\/update-integer-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-integer-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8514,6 +8513,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-integer-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateIntegerColumn" @@ -8634,7 +8634,6 @@ "cookies": false, "type": "", "demo": "databases\/create-ip-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-ip-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8645,6 +8644,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-ip-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createIpColumn" @@ -8748,7 +8748,6 @@ "cookies": false, "type": "", "demo": "databases\/update-ip-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-ip-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8759,6 +8758,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-ip-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateIpColumn" @@ -8867,7 +8867,6 @@ "cookies": false, "type": "", "demo": "databases\/create-line-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-line-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8878,6 +8877,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-line-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createLineColumn" @@ -8983,7 +8983,6 @@ "cookies": false, "type": "", "demo": "databases\/update-line-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-line-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8994,6 +8993,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-line-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateLineColumn" @@ -9108,7 +9108,6 @@ "cookies": false, "type": "", "demo": "databases\/create-point-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-point-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9119,6 +9118,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-point-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createPointColumn" @@ -9224,7 +9224,6 @@ "cookies": false, "type": "", "demo": "databases\/update-point-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-point-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9235,6 +9234,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-point-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updatePointColumn" @@ -9349,7 +9349,6 @@ "cookies": false, "type": "", "demo": "databases\/create-polygon-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-polygon-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9360,6 +9359,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-polygon-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createPolygonColumn" @@ -9465,7 +9465,6 @@ "cookies": false, "type": "", "demo": "databases\/update-polygon-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-polygon-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9476,6 +9475,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-polygon-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updatePolygonColumn" @@ -9590,7 +9590,6 @@ "cookies": false, "type": "", "demo": "databases\/create-relationship-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-relationship-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9601,6 +9600,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-relationship-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createRelationshipColumn" @@ -9730,7 +9730,6 @@ "cookies": false, "type": "", "demo": "databases\/create-string-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-string-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9741,6 +9740,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-string-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createStringColumn" @@ -9855,7 +9855,6 @@ "cookies": false, "type": "", "demo": "databases\/update-string-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-string-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9866,6 +9865,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-string-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateStringColumn" @@ -9980,7 +9980,6 @@ "cookies": false, "type": "", "demo": "databases\/create-url-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-url-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9991,6 +9990,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-url-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createUrlColumn" @@ -10094,7 +10094,6 @@ "cookies": false, "type": "", "demo": "databases\/update-url-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-url-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10105,6 +10104,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-url-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateUrlColumn" @@ -10244,7 +10244,6 @@ "cookies": false, "type": "", "demo": "databases\/get-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10255,6 +10254,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.getColumn" @@ -10322,7 +10322,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10333,6 +10332,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.deleteColumn" @@ -10409,7 +10409,6 @@ "cookies": false, "type": "", "demo": "databases\/update-relationship-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-relationship-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10420,6 +10419,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-relationship-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateRelationshipColumn" @@ -10526,7 +10526,6 @@ "cookies": false, "type": "", "demo": "databases\/list-documents.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-documents.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10539,6 +10538,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-documents.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.listRows" @@ -10640,7 +10640,6 @@ "cookies": false, "type": "", "demo": "databases\/create-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-document.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -10653,6 +10652,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createRow" @@ -10835,7 +10835,6 @@ "cookies": false, "type": "", "demo": "databases\/upsert-documents.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-documents.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -10846,6 +10845,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-documents.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.upsertRows" @@ -10974,7 +10974,6 @@ "cookies": false, "type": "", "demo": "databases\/update-documents.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-documents.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -10985,6 +10984,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-documents.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateRows" @@ -11080,7 +11080,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-documents.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-documents.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -11091,6 +11090,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-documents.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.deleteRows" @@ -11183,7 +11183,6 @@ "cookies": false, "type": "", "demo": "databases\/get-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-document.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -11196,6 +11195,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.getRow" @@ -11296,7 +11296,6 @@ "cookies": false, "type": "", "demo": "databases\/upsert-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-document.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -11309,6 +11308,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.upsertRow" @@ -11458,7 +11458,6 @@ "cookies": false, "type": "", "demo": "databases\/update-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-document.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -11471,6 +11470,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateRow" @@ -11572,7 +11572,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-document.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -11585,6 +11584,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.deleteRow" @@ -11681,7 +11681,6 @@ "cookies": false, "type": "", "demo": "databases\/decrement-document-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/decrement-document-attribute.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -11694,6 +11693,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/decrement-document-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.decrementRowColumn" @@ -11810,7 +11810,6 @@ "cookies": false, "type": "", "demo": "databases\/increment-document-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/increment-document-attribute.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -11823,6 +11822,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/increment-document-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.incrementRowColumn" @@ -11939,7 +11939,6 @@ "cookies": false, "type": "", "demo": "databases\/list-indexes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-indexes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -11950,6 +11949,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-indexes.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.listIndexes" @@ -12039,7 +12039,6 @@ "cookies": false, "type": "", "demo": "databases\/create-index.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12050,6 +12049,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-index.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createIndex" @@ -12181,7 +12181,6 @@ "cookies": false, "type": "", "demo": "databases\/get-index.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12192,6 +12191,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-index.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.getIndex" @@ -12259,7 +12259,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-index.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12270,6 +12269,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-index.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.deleteIndex" @@ -12346,7 +12346,6 @@ "cookies": false, "type": "", "demo": "functions\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all the project's functions. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12433,7 +12432,6 @@ "cookies": false, "type": "", "demo": "functions\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new function. You can pass a list of [permissions](https:\/\/appwrite.io\/docs\/permissions) to allow different project users or team with access to execute the function using the client API.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12730,7 +12728,6 @@ "cookies": false, "type": "", "demo": "functions\/list-runtimes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all runtimes that are currently active on your instance.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12782,7 +12779,6 @@ "cookies": false, "type": "", "demo": "functions\/list-specifications.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterList allowed function specifications for this instance.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12834,7 +12830,6 @@ "cookies": false, "type": "", "demo": "functions\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a function by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12896,7 +12891,6 @@ "cookies": false, "type": "", "demo": "functions\/update.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate function by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13190,7 +13184,6 @@ "cookies": false, "type": "", "demo": "functions\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a function by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13254,7 +13247,6 @@ "cookies": false, "type": "", "demo": "functions\/update-function-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate the function active deployment. Use this endpoint to switch the code deployment that should be used when visitor opens your function.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13337,7 +13329,6 @@ "cookies": false, "type": "", "demo": "functions\/list-deployments.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all the function's code deployments. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13434,7 +13425,6 @@ "cookies": false, "type": "upload", "demo": "functions\/create-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new function code deployment. Use this endpoint to upload a new version of your code function. To execute your newly uploaded code, you'll need to update the function's deployment to use your new deployment UID.\n\nThis endpoint accepts a tar.gz file compressed with your code. Make sure to include any dependencies your code has within the compressed file. You can learn more about code packaging in the [Appwrite Cloud Functions tutorial](https:\/\/appwrite.io\/docs\/functions).\n\nUse the \"command\" param to set the entrypoint used to execute your code.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13535,7 +13525,6 @@ "cookies": false, "type": "", "demo": "functions\/create-duplicate-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new build for an existing function deployment. This endpoint allows you to rebuild a deployment with the updated function configuration, including its entrypoint and build commands if they have been modified. The build process will be queued and executed asynchronously. The original deployment's code will be preserved and used for the new build.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13623,7 +13612,6 @@ "cookies": false, "type": "", "demo": "functions\/create-template-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a deployment based on a template.\n\nUse this endpoint with combination of [listTemplates](https:\/\/appwrite.io\/docs\/products\/functions\/templates) to find the template details.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13742,7 +13730,6 @@ "cookies": false, "type": "", "demo": "functions\/create-vcs-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a deployment when a function is connected to VCS.\n\nThis endpoint lets you create deployment from a branch, commit, or a tag.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13842,7 +13829,6 @@ "cookies": false, "type": "", "demo": "functions\/get-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a function deployment by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13907,7 +13893,6 @@ "cookies": false, "type": "", "demo": "functions\/delete-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a code deployment by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13974,7 +13959,6 @@ "cookies": false, "type": "location", "demo": "functions\/get-deployment-download.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a function deployment content by its unique ID. The endpoint response return with a 'Content-Disposition: attachment' header that tells the browser to start downloading the file to user downloads directory.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14067,7 +14051,6 @@ "cookies": false, "type": "", "demo": "functions\/update-deployment-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCancel an ongoing function deployment build. If the build is already in progress, it will be stopped and marked as canceled. If the build hasn't started yet, it will be marked as canceled without executing. You cannot cancel builds that have already completed (status 'ready') or failed. The response includes the final build status and details.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14141,7 +14124,6 @@ "cookies": false, "type": "", "demo": "functions\/list-executions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all the current user function execution logs. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14231,7 +14213,6 @@ "cookies": false, "type": "", "demo": "functions\/create-execution.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterTrigger a function execution. The returned object will return you the current execution status. You can ping the `Get Execution` endpoint to get updates on the current execution status. Once this endpoint is called, your function execution process will start asynchronously.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14352,7 +14333,6 @@ "cookies": false, "type": "", "demo": "functions\/get-execution.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a function execution log by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14421,7 +14401,6 @@ "cookies": false, "type": "", "demo": "functions\/delete-execution.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a function execution by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14495,7 +14474,6 @@ "cookies": false, "type": "", "demo": "functions\/list-variables.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all variables of a specific function.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14557,7 +14535,6 @@ "cookies": false, "type": "", "demo": "functions\/create-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new function environment variable. These variables can be accessed in the function at runtime as environment variables.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14651,7 +14628,6 @@ "cookies": false, "type": "", "demo": "functions\/get-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a variable by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14723,7 +14699,6 @@ "cookies": false, "type": "", "demo": "functions\/update-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate variable by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14819,7 +14794,6 @@ "cookies": false, "type": "", "demo": "functions\/delete-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a variable by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14893,7 +14867,6 @@ "cookies": false, "type": "graphql", "demo": "graphql\/query.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "rate-limit": 60, "rate-time": 60, "rate-key": "url:{url},ip:{ip}", @@ -14906,6 +14879,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "auth": { "Project": [], "Key": [] @@ -14949,7 +14923,6 @@ "cookies": false, "type": "graphql", "demo": "graphql\/mutation.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "rate-limit": 60, "rate-time": 60, "rate-key": "url:{url},ip:{ip}", @@ -14962,6 +14935,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "auth": { "Project": [], "Key": [] @@ -15005,7 +14979,6 @@ "cookies": false, "type": "", "demo": "health\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15016,6 +14989,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get.md", "auth": { "Project": [], "Key": [] @@ -15057,7 +15031,6 @@ "cookies": false, "type": "", "demo": "health\/get-antivirus.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage-anti-virus.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15068,6 +15041,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage-anti-virus.md", "auth": { "Project": [], "Key": [] @@ -15109,7 +15083,6 @@ "cookies": false, "type": "", "demo": "health\/get-cache.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-cache.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15120,6 +15093,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-cache.md", "auth": { "Project": [], "Key": [] @@ -15161,7 +15135,6 @@ "cookies": false, "type": "", "demo": "health\/get-certificate.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-certificate.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15172,6 +15145,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-certificate.md", "auth": { "Project": [], "Key": [] @@ -15224,7 +15198,6 @@ "cookies": false, "type": "", "demo": "health\/get-db.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-db.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15235,6 +15208,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-db.md", "auth": { "Project": [], "Key": [] @@ -15276,7 +15250,6 @@ "cookies": false, "type": "", "demo": "health\/get-pub-sub.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-pubsub.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15287,6 +15260,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-pubsub.md", "auth": { "Project": [], "Key": [] @@ -15328,7 +15302,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-builds.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-builds.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15339,6 +15312,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-builds.md", "auth": { "Project": [], "Key": [] @@ -15393,7 +15367,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-certificates.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-certificates.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15404,6 +15377,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-certificates.md", "auth": { "Project": [], "Key": [] @@ -15458,7 +15432,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-databases.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-databases.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15469,6 +15442,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-databases.md", "auth": { "Project": [], "Key": [] @@ -15534,7 +15508,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-deletes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-deletes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15545,6 +15518,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-deletes.md", "auth": { "Project": [], "Key": [] @@ -15599,7 +15573,6 @@ "cookies": false, "type": "", "demo": "health\/get-failed-jobs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-failed-queue-jobs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15610,6 +15583,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-failed-queue-jobs.md", "auth": { "Project": [], "Key": [] @@ -15690,7 +15664,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-functions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-functions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15701,6 +15674,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-functions.md", "auth": { "Project": [], "Key": [] @@ -15755,7 +15729,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15766,6 +15739,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-logs.md", "auth": { "Project": [], "Key": [] @@ -15820,7 +15794,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-mails.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-mails.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15831,6 +15804,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-mails.md", "auth": { "Project": [], "Key": [] @@ -15885,7 +15859,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-messaging.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-messaging.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15896,6 +15869,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-messaging.md", "auth": { "Project": [], "Key": [] @@ -15950,7 +15924,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-migrations.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-migrations.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15961,6 +15934,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-migrations.md", "auth": { "Project": [], "Key": [] @@ -16015,7 +15989,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-stats-resources.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-stats-resources.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16026,6 +15999,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-stats-resources.md", "auth": { "Project": [], "Key": [] @@ -16080,7 +16054,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-stats-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16091,6 +16064,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-stats-usage.md", "auth": { "Project": [], "Key": [] @@ -16145,7 +16119,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-webhooks.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-webhooks.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16156,6 +16129,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-webhooks.md", "auth": { "Project": [], "Key": [] @@ -16210,7 +16184,6 @@ "cookies": false, "type": "", "demo": "health\/get-storage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16221,6 +16194,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage.md", "auth": { "Project": [], "Key": [] @@ -16262,7 +16236,6 @@ "cookies": false, "type": "", "demo": "health\/get-storage-local.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage-local.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16273,6 +16246,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage-local.md", "auth": { "Project": [], "Key": [] @@ -16314,7 +16288,6 @@ "cookies": false, "type": "", "demo": "health\/get-time.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-time.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16325,6 +16298,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-time.md", "auth": { "Project": [], "Key": [] @@ -16366,7 +16340,6 @@ "cookies": false, "type": "", "demo": "locale\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/get-locale.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16379,6 +16352,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/get-locale.md", "auth": { "Project": [], "Session": [] @@ -16422,7 +16396,6 @@ "cookies": false, "type": "", "demo": "locale\/list-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-locale-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16435,6 +16408,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-locale-codes.md", "auth": { "Project": [], "Session": [] @@ -16478,7 +16452,6 @@ "cookies": false, "type": "", "demo": "locale\/list-continents.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-continents.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16491,6 +16464,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-continents.md", "auth": { "Project": [], "Session": [] @@ -16534,7 +16508,6 @@ "cookies": false, "type": "", "demo": "locale\/list-countries.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16547,6 +16520,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries.md", "auth": { "Project": [], "Session": [] @@ -16590,7 +16564,6 @@ "cookies": false, "type": "", "demo": "locale\/list-countries-eu.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-eu.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16603,6 +16576,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-eu.md", "auth": { "Project": [], "Session": [] @@ -16646,7 +16620,6 @@ "cookies": false, "type": "", "demo": "locale\/list-countries-phones.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-phones.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16659,6 +16632,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-phones.md", "auth": { "Project": [], "Session": [] @@ -16702,7 +16676,6 @@ "cookies": false, "type": "", "demo": "locale\/list-currencies.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-currencies.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16715,6 +16688,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-currencies.md", "auth": { "Project": [], "Session": [] @@ -16758,7 +16732,6 @@ "cookies": false, "type": "", "demo": "locale\/list-languages.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-languages.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16771,6 +16744,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-languages.md", "auth": { "Project": [], "Session": [] @@ -16814,7 +16788,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-messages.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-messages.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16825,6 +16798,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-messages.md", "auth": { "Project": [], "Key": [] @@ -16903,7 +16877,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-email.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-email.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16914,6 +16887,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-email.md", "auth": { "Project": [], "Key": [] @@ -17050,7 +17024,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-email.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-email.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17061,6 +17034,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-email.md", "auth": { "Project": [], "Key": [] @@ -17209,7 +17183,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-push.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-push.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17220,6 +17193,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-push.md", "auth": { "Project": [], "Key": [] @@ -17387,7 +17361,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-push.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-push.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17398,6 +17371,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-push.md", "auth": { "Project": [], "Key": [] @@ -17585,7 +17559,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-sms.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-sms.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17596,6 +17569,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-sms.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.createSMS" @@ -17769,7 +17743,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-sms.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-sms.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17780,6 +17753,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-sms.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.updateSMS" @@ -17959,7 +17933,6 @@ "cookies": false, "type": "", "demo": "messaging\/get-message.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-message.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17970,6 +17943,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-message.md", "auth": { "Project": [], "Key": [] @@ -18014,7 +17988,6 @@ "cookies": false, "type": "", "demo": "messaging\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-message.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18025,6 +17998,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-message.md", "auth": { "Project": [], "Key": [] @@ -18078,7 +18052,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-message-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-message-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18089,6 +18062,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-message-logs.md", "auth": { "Project": [], "Key": [] @@ -18166,7 +18140,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-targets.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-message-targets.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18177,6 +18150,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-message-targets.md", "auth": { "Project": [], "Key": [] @@ -18254,7 +18228,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-providers.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-providers.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18265,6 +18238,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-providers.md", "auth": { "Project": [], "Key": [] @@ -18343,7 +18317,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-apns-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-apns-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18354,6 +18327,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-apns-provider.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.createAPNSProvider" @@ -18525,7 +18499,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-apns-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-apns-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18536,6 +18509,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-apns-provider.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.updateAPNSProvider" @@ -18709,7 +18683,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-fcm-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-fcm-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18720,6 +18693,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-fcm-provider.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.createFCMProvider" @@ -18864,7 +18838,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-fcm-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-fcm-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18875,6 +18848,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-fcm-provider.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.updateFCMProvider" @@ -19020,7 +18994,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-mailgun-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-mailgun-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19031,6 +19004,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-mailgun-provider.md", "auth": { "Project": [], "Key": [] @@ -19139,7 +19113,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-mailgun-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-mailgun-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19150,6 +19123,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-mailgun-provider.md", "auth": { "Project": [], "Key": [] @@ -19261,7 +19235,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-msg-91-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-msg91-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19272,6 +19245,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-msg91-provider.md", "auth": { "Project": [], "Key": [] @@ -19359,7 +19333,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-msg-91-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-msg91-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19370,6 +19343,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-msg91-provider.md", "auth": { "Project": [], "Key": [] @@ -19460,7 +19434,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-resend-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-resend-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19471,6 +19444,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-resend-provider.md", "auth": { "Project": [], "Key": [] @@ -19568,7 +19542,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-resend-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-resend-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19579,6 +19552,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-resend-provider.md", "auth": { "Project": [], "Key": [] @@ -19679,7 +19653,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-sendgrid-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-sendgrid-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19690,6 +19663,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-sendgrid-provider.md", "auth": { "Project": [], "Key": [] @@ -19787,7 +19761,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-sendgrid-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-sendgrid-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19798,6 +19771,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-sendgrid-provider.md", "auth": { "Project": [], "Key": [] @@ -19898,7 +19872,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-smtp-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-smtp-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19909,6 +19882,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-smtp-provider.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.createSMTPProvider" @@ -20132,7 +20106,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-smtp-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-smtp-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20143,6 +20116,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-smtp-provider.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.updateSMTPProvider" @@ -20366,7 +20340,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-telesign-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-telesign-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20377,6 +20350,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-telesign-provider.md", "auth": { "Project": [], "Key": [] @@ -20464,7 +20438,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-telesign-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-telesign-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20475,6 +20448,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-telesign-provider.md", "auth": { "Project": [], "Key": [] @@ -20565,7 +20539,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-textmagic-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-textmagic-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20576,6 +20549,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-textmagic-provider.md", "auth": { "Project": [], "Key": [] @@ -20663,7 +20637,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-textmagic-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-textmagic-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20674,6 +20647,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-textmagic-provider.md", "auth": { "Project": [], "Key": [] @@ -20764,7 +20738,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-twilio-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-twilio-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20775,6 +20748,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-twilio-provider.md", "auth": { "Project": [], "Key": [] @@ -20862,7 +20836,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-twilio-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-twilio-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20873,6 +20846,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-twilio-provider.md", "auth": { "Project": [], "Key": [] @@ -20963,7 +20937,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-vonage-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-vonage-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20974,6 +20947,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-vonage-provider.md", "auth": { "Project": [], "Key": [] @@ -21061,7 +21035,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-vonage-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-vonage-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21072,6 +21045,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-vonage-provider.md", "auth": { "Project": [], "Key": [] @@ -21162,7 +21136,6 @@ "cookies": false, "type": "", "demo": "messaging\/get-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21173,6 +21146,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-provider.md", "auth": { "Project": [], "Key": [] @@ -21217,7 +21191,6 @@ "cookies": false, "type": "", "demo": "messaging\/delete-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21228,6 +21201,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-provider.md", "auth": { "Project": [], "Key": [] @@ -21281,7 +21255,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-provider-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-provider-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21292,6 +21265,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-provider-logs.md", "auth": { "Project": [], "Key": [] @@ -21369,7 +21343,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-subscriber-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-subscriber-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21380,6 +21353,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-subscriber-logs.md", "auth": { "Project": [], "Key": [] @@ -21457,7 +21431,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-topics.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-topics.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21468,6 +21441,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-topics.md", "auth": { "Project": [], "Key": [] @@ -21544,7 +21518,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-topic.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-topic.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21555,6 +21528,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-topic.md", "auth": { "Project": [], "Key": [] @@ -21629,7 +21603,6 @@ "cookies": false, "type": "", "demo": "messaging\/get-topic.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-topic.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21640,6 +21613,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-topic.md", "auth": { "Project": [], "Key": [] @@ -21691,7 +21665,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-topic.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-topic.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21702,6 +21675,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-topic.md", "auth": { "Project": [], "Key": [] @@ -21772,7 +21746,6 @@ "cookies": false, "type": "", "demo": "messaging\/delete-topic.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-topic.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21783,6 +21756,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-topic.md", "auth": { "Project": [], "Key": [] @@ -21836,7 +21810,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-topic-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-topic-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21847,6 +21820,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-topic-logs.md", "auth": { "Project": [], "Key": [] @@ -21924,7 +21898,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-subscribers.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-subscribers.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21935,6 +21908,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-subscribers.md", "auth": { "Project": [], "Key": [] @@ -22021,7 +21995,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-subscriber.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-subscriber.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22034,6 +22007,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-subscriber.md", "auth": { "Project": [], "JWT": [] @@ -22114,7 +22088,6 @@ "cookies": false, "type": "", "demo": "messaging\/get-subscriber.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-subscriber.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22125,6 +22098,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-subscriber.md", "auth": { "Project": [], "Key": [] @@ -22179,7 +22153,6 @@ "cookies": false, "type": "", "demo": "messaging\/delete-subscriber.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-subscriber.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22192,6 +22165,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-subscriber.md", "auth": { "Project": [], "JWT": [] @@ -22257,7 +22231,6 @@ "cookies": false, "type": "", "demo": "sites\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all the project's sites. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22344,7 +22317,6 @@ "cookies": false, "type": "", "demo": "sites\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new site.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22599,7 +22571,6 @@ "cookies": false, "type": "", "demo": "sites\/list-frameworks.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all frameworks that are currently available on the server instance.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22651,7 +22622,6 @@ "cookies": false, "type": "", "demo": "sites\/list-specifications.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterList allowed site specifications for this instance.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22703,7 +22673,6 @@ "cookies": false, "type": "", "demo": "sites\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a site by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22765,7 +22734,6 @@ "cookies": false, "type": "", "demo": "sites\/update.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate site by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23016,7 +22984,6 @@ "cookies": false, "type": "", "demo": "sites\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a site by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23080,7 +23047,6 @@ "cookies": false, "type": "", "demo": "sites\/update-site-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate the site active deployment. Use this endpoint to switch the code deployment that should be used when visitor opens your site.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23163,7 +23129,6 @@ "cookies": false, "type": "", "demo": "sites\/list-deployments.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all the site's code deployments. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23260,7 +23225,6 @@ "cookies": false, "type": "upload", "demo": "sites\/create-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new site code deployment. Use this endpoint to upload a new version of your site code. To activate your newly uploaded code, you'll need to update the site's deployment to use your new deployment ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23367,7 +23331,6 @@ "cookies": false, "type": "", "demo": "sites\/create-duplicate-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new build for an existing site deployment. This endpoint allows you to rebuild a deployment with the updated site configuration, including its commands and output directory if they have been modified. The build process will be queued and executed asynchronously. The original deployment's code will be preserved and used for the new build.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23450,7 +23413,6 @@ "cookies": false, "type": "", "demo": "sites\/create-template-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a deployment based on a template.\n\nUse this endpoint with combination of [listTemplates](https:\/\/appwrite.io\/docs\/products\/sites\/templates) to find the template details.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23569,7 +23531,6 @@ "cookies": false, "type": "", "demo": "sites\/create-vcs-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a deployment when a site is connected to VCS.\n\nThis endpoint lets you create deployment from a branch, commit, or a tag.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23670,7 +23631,6 @@ "cookies": false, "type": "", "demo": "sites\/get-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a site deployment by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23735,7 +23695,6 @@ "cookies": false, "type": "", "demo": "sites\/delete-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a site deployment by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23802,7 +23761,6 @@ "cookies": false, "type": "location", "demo": "sites\/get-deployment-download.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a site deployment content by its unique ID. The endpoint response return with a 'Content-Disposition: attachment' header that tells the browser to start downloading the file to user downloads directory.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23895,7 +23853,6 @@ "cookies": false, "type": "", "demo": "sites\/update-deployment-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCancel an ongoing site deployment build. If the build is already in progress, it will be stopped and marked as canceled. If the build hasn't started yet, it will be marked as canceled without executing. You cannot cancel builds that have already completed (status 'ready') or failed. The response includes the final build status and details.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23969,7 +23926,6 @@ "cookies": false, "type": "", "demo": "sites\/list-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all site logs. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24057,7 +24013,6 @@ "cookies": false, "type": "", "demo": "sites\/get-log.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a site request log by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24122,7 +24077,6 @@ "cookies": false, "type": "", "demo": "sites\/delete-log.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a site log by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24196,7 +24150,6 @@ "cookies": false, "type": "", "demo": "sites\/list-variables.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all variables of a specific site.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24258,7 +24211,6 @@ "cookies": false, "type": "", "demo": "sites\/create-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new site variable. These variables can be accessed during build and runtime (server-side rendering) as environment variables.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24352,7 +24304,6 @@ "cookies": false, "type": "", "demo": "sites\/get-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a variable by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24424,7 +24375,6 @@ "cookies": false, "type": "", "demo": "sites\/update-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate variable by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24520,7 +24470,6 @@ "cookies": false, "type": "", "demo": "sites\/delete-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a variable by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24594,7 +24543,6 @@ "cookies": false, "type": "", "demo": "storage\/list-buckets.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-buckets.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24605,6 +24553,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-buckets.md", "auth": { "Project": [], "Key": [] @@ -24681,7 +24630,6 @@ "cookies": false, "type": "", "demo": "storage\/create-bucket.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-bucket.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24692,6 +24640,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-bucket.md", "auth": { "Project": [], "Key": [] @@ -24817,7 +24766,6 @@ "cookies": false, "type": "", "demo": "storage\/get-bucket.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-bucket.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24828,6 +24776,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-bucket.md", "auth": { "Project": [], "Key": [] @@ -24879,7 +24828,6 @@ "cookies": false, "type": "", "demo": "storage\/update-bucket.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/update-bucket.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24890,6 +24838,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/update-bucket.md", "auth": { "Project": [], "Key": [] @@ -25012,7 +24961,6 @@ "cookies": false, "type": "", "demo": "storage\/delete-bucket.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/delete-bucket.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25023,6 +24971,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/delete-bucket.md", "auth": { "Project": [], "Key": [] @@ -25076,7 +25025,6 @@ "cookies": false, "type": "", "demo": "storage\/list-files.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-files.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25089,6 +25037,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-files.md", "auth": { "Project": [], "Session": [] @@ -25177,7 +25126,6 @@ "cookies": false, "type": "upload", "demo": "storage\/create-file.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-file.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId},chunkId:{chunkId}", @@ -25190,6 +25138,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-file.md", "auth": { "Project": [], "Session": [] @@ -25280,7 +25229,6 @@ "cookies": false, "type": "", "demo": "storage\/get-file.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25293,6 +25241,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file.md", "auth": { "Project": [], "Session": [] @@ -25356,7 +25305,6 @@ "cookies": false, "type": "", "demo": "storage\/update-file.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/update-file.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -25369,6 +25317,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/update-file.md", "auth": { "Project": [], "Session": [] @@ -25451,7 +25400,6 @@ "cookies": false, "type": "", "demo": "storage\/delete-file.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/delete-file.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -25464,6 +25412,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/delete-file.md", "auth": { "Project": [], "Session": [] @@ -25522,7 +25471,6 @@ "cookies": false, "type": "location", "demo": "storage\/get-file-download.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-download.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25535,6 +25483,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-download.md", "auth": { "Project": [], "Session": [] @@ -25604,7 +25553,6 @@ "cookies": false, "type": "location", "demo": "storage\/get-file-preview.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-preview.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25617,6 +25565,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-preview.md", "auth": { "Project": [], "Session": [] @@ -25836,7 +25785,6 @@ "cookies": false, "type": "location", "demo": "storage\/get-file-view.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-view.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25849,6 +25797,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-view.md", "auth": { "Project": [], "Session": [] @@ -25925,7 +25874,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25936,6 +25884,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list.md", "auth": { "Project": [], "Key": [] @@ -26012,7 +25961,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26023,6 +25971,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create.md", "auth": { "Project": [], "Key": [] @@ -26094,7 +26043,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-transactions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-transactions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26110,6 +26058,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-transactions.md", "auth": { "Project": [], "Key": [] @@ -26166,7 +26115,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26182,6 +26130,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-transaction.md", "auth": { "Project": [], "Key": [] @@ -26241,7 +26190,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26257,6 +26205,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-transaction.md", "auth": { "Project": [], "Key": [] @@ -26310,7 +26259,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26326,6 +26274,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-transaction.md", "auth": { "Project": [], "Key": [] @@ -26393,7 +26342,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26409,6 +26357,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-transaction.md", "auth": { "Project": [], "Key": [] @@ -26464,7 +26413,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-operations.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-operations.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26480,6 +26428,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-operations.md", "auth": { "Project": [], "Key": [] @@ -26554,7 +26503,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26565,6 +26513,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get.md", "auth": { "Project": [], "Key": [] @@ -26616,7 +26565,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26627,6 +26575,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update.md", "auth": { "Project": [], "Key": [] @@ -26695,7 +26644,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26706,6 +26654,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete.md", "auth": { "Project": [], "Key": [] @@ -26759,7 +26708,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-tables.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-tables.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26773,6 +26721,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-tables.md", "auth": { "Project": [], "Key": [] @@ -26859,7 +26808,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-table.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-table.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26873,6 +26821,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-table.md", "auth": { "Project": [], "Key": [] @@ -26986,7 +26935,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-table.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-table.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27000,6 +26948,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-table.md", "auth": { "Project": [], "Key": [] @@ -27061,7 +27010,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-table.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-table.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27075,6 +27023,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-table.md", "auth": { "Project": [], "Key": [] @@ -27167,7 +27116,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-table.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-table.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27181,6 +27129,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-table.md", "auth": { "Project": [], "Key": [] @@ -27244,7 +27193,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-columns.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-columns.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27258,6 +27206,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-columns.md", "auth": { "Project": [], "Key": [] @@ -27345,7 +27294,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-boolean-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-boolean-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27359,6 +27307,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-boolean-column.md", "auth": { "Project": [], "Key": [] @@ -27458,7 +27407,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-boolean-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-boolean-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27472,6 +27420,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-boolean-column.md", "auth": { "Project": [], "Key": [] @@ -27576,7 +27525,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-datetime-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-datetime-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27590,6 +27538,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-datetime-column.md", "auth": { "Project": [], "Key": [] @@ -27689,7 +27638,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-datetime-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-datetime-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27703,6 +27651,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-datetime-column.md", "auth": { "Project": [], "Key": [] @@ -27807,7 +27756,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-email-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-email-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27821,6 +27769,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-email-column.md", "auth": { "Project": [], "Key": [] @@ -27920,7 +27869,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-email-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-email-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27934,6 +27882,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-email-column.md", "auth": { "Project": [], "Key": [] @@ -28038,7 +27987,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-enum-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-enum-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28052,6 +28000,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-enum-column.md", "auth": { "Project": [], "Key": [] @@ -28160,7 +28109,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-enum-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-enum-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28174,6 +28122,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-enum-column.md", "auth": { "Project": [], "Key": [] @@ -28287,7 +28236,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-float-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-float-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28301,6 +28249,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-float-column.md", "auth": { "Project": [], "Key": [] @@ -28412,7 +28361,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-float-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-float-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28426,6 +28374,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-float-column.md", "auth": { "Project": [], "Key": [] @@ -28542,7 +28491,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-integer-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-integer-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28556,6 +28504,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-integer-column.md", "auth": { "Project": [], "Key": [] @@ -28667,7 +28616,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-integer-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-integer-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28681,6 +28629,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-integer-column.md", "auth": { "Project": [], "Key": [] @@ -28797,7 +28746,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-ip-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-ip-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28811,6 +28759,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-ip-column.md", "auth": { "Project": [], "Key": [] @@ -28910,7 +28859,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-ip-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-ip-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28924,6 +28872,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-ip-column.md", "auth": { "Project": [], "Key": [] @@ -29028,7 +28977,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-line-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-line-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -29042,6 +28990,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-line-column.md", "auth": { "Project": [], "Key": [] @@ -29143,7 +29092,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-line-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-line-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -29157,6 +29105,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-line-column.md", "auth": { "Project": [], "Key": [] @@ -29267,7 +29216,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-point-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-point-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -29281,6 +29229,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-point-column.md", "auth": { "Project": [], "Key": [] @@ -29382,7 +29331,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-point-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-point-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -29396,6 +29344,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-point-column.md", "auth": { "Project": [], "Key": [] @@ -29506,7 +29455,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-polygon-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-polygon-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -29520,6 +29468,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-polygon-column.md", "auth": { "Project": [], "Key": [] @@ -29621,7 +29570,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-polygon-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-polygon-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -29635,6 +29583,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-polygon-column.md", "auth": { "Project": [], "Key": [] @@ -29745,7 +29694,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-relationship-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-relationship-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -29759,6 +29707,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-relationship-column.md", "auth": { "Project": [], "Key": [] @@ -29884,7 +29833,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-string-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-string-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -29898,6 +29846,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-string-column.md", "auth": { "Project": [], "Key": [] @@ -30008,7 +29957,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-string-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-string-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30022,6 +29970,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-string-column.md", "auth": { "Project": [], "Key": [] @@ -30132,7 +30081,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-url-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-url-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30146,6 +30094,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-url-column.md", "auth": { "Project": [], "Key": [] @@ -30245,7 +30194,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-url-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-url-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30259,6 +30207,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-url-column.md", "auth": { "Project": [], "Key": [] @@ -30394,7 +30343,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30408,6 +30356,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-column.md", "auth": { "Project": [], "Key": [] @@ -30471,7 +30420,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30485,6 +30433,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-column.md", "auth": { "Project": [], "Key": [] @@ -30557,7 +30506,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-relationship-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-relationship-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30571,6 +30519,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-relationship-column.md", "auth": { "Project": [], "Key": [] @@ -30673,7 +30622,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-indexes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-indexes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30687,6 +30635,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-indexes.md", "auth": { "Project": [], "Key": [] @@ -30772,7 +30721,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-index.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30786,6 +30734,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-index.md", "auth": { "Project": [], "Key": [] @@ -30913,7 +30862,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-index.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30927,6 +30875,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-index.md", "auth": { "Project": [], "Key": [] @@ -30990,7 +30939,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-index.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -31004,6 +30952,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-index.md", "auth": { "Project": [], "Key": [] @@ -31076,7 +31025,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-rows.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-rows.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -31092,6 +31040,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-rows.md", "auth": { "Project": [], "Session": [] @@ -31189,7 +31138,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-row.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -31205,6 +31153,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-row.md", "methods": [ { "name": "createRow", @@ -31375,7 +31324,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/upsert-rows.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/upsert-rows.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -31389,6 +31337,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/upsert-rows.md", "methods": [ { "name": "upsertRows", @@ -31509,7 +31458,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-rows.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-rows.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -31523,6 +31471,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-rows.md", "auth": { "Project": [], "Key": [] @@ -31614,7 +31563,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-rows.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-rows.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -31628,6 +31576,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-rows.md", "auth": { "Project": [], "Key": [] @@ -31716,7 +31665,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-row.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -31732,6 +31680,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-row.md", "auth": { "Project": [], "Session": [] @@ -31828,7 +31777,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/upsert-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/upsert-row.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -31844,6 +31792,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/upsert-row.md", "methods": [ { "name": "upsertRow", @@ -31981,7 +31930,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-row.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -31997,6 +31945,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-row.md", "auth": { "Project": [], "Session": [] @@ -32094,7 +32043,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-row.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -32110,6 +32058,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-row.md", "auth": { "Project": [], "Session": [] @@ -32202,7 +32151,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/decrement-row-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/decrement-row-column.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -32218,6 +32166,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/decrement-row-column.md", "auth": { "Project": [], "Session": [] @@ -32330,7 +32279,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/increment-row-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/increment-row-column.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -32346,6 +32294,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/increment-row-column.md", "auth": { "Project": [], "Session": [] @@ -32458,7 +32407,6 @@ "cookies": false, "type": "", "demo": "teams\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-teams.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32471,6 +32419,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-teams.md", "auth": { "Project": [], "Session": [] @@ -32549,7 +32498,6 @@ "cookies": false, "type": "", "demo": "teams\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32562,6 +32510,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team.md", "auth": { "Project": [], "Session": [] @@ -32638,7 +32587,6 @@ "cookies": false, "type": "", "demo": "teams\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32651,6 +32599,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team.md", "auth": { "Project": [], "Session": [] @@ -32704,7 +32653,6 @@ "cookies": false, "type": "", "demo": "teams\/update-name.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-name.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32717,6 +32665,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-name.md", "auth": { "Project": [], "Session": [] @@ -32782,7 +32731,6 @@ "cookies": false, "type": "", "demo": "teams\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32795,6 +32743,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team.md", "auth": { "Project": [], "Session": [] @@ -32850,7 +32799,6 @@ "cookies": false, "type": "", "demo": "teams\/list-memberships.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-team-members.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32863,6 +32811,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-team-members.md", "auth": { "Project": [], "Session": [] @@ -32951,7 +32900,6 @@ "cookies": false, "type": "", "demo": "teams\/create-membership.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team-membership.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32964,6 +32912,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team-membership.md", "auth": { "Project": [], "Session": [] @@ -33073,7 +33022,6 @@ "cookies": false, "type": "", "demo": "teams\/get-membership.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-member.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33086,6 +33034,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-member.md", "auth": { "Project": [], "Session": [] @@ -33149,7 +33098,6 @@ "cookies": false, "type": "", "demo": "teams\/update-membership.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33162,6 +33110,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership.md", "auth": { "Project": [], "Session": [] @@ -33247,7 +33196,6 @@ "cookies": false, "type": "", "demo": "teams\/delete-membership.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team-membership.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33260,6 +33208,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team-membership.md", "auth": { "Project": [], "Session": [] @@ -33325,7 +33274,6 @@ "cookies": false, "type": "", "demo": "teams\/update-membership-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33337,6 +33285,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership-status.md", "auth": { "Project": [], "Session": [] @@ -33426,7 +33375,6 @@ "cookies": false, "type": "", "demo": "teams\/get-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33438,6 +33386,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-prefs.md", "auth": { "Project": [], "Session": [] @@ -33490,7 +33439,6 @@ "cookies": false, "type": "", "demo": "teams\/update-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33502,6 +33450,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-prefs.md", "auth": { "Project": [], "Session": [] @@ -33575,7 +33524,6 @@ "cookies": false, "type": "", "demo": "tokens\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterList all the tokens created for a specific file or bucket. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33671,7 +33619,6 @@ "cookies": false, "type": "", "demo": "tokens\/create-file-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new token. A token is linked to a file. Token can be passed as a request URL search parameter.", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -33762,7 +33709,6 @@ "cookies": false, "type": "", "demo": "tokens\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a token by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33824,7 +33770,6 @@ "cookies": false, "type": "", "demo": "tokens\/update.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate a token by its unique ID. Use this endpoint to update a token's expiry date.", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -33896,7 +33841,6 @@ "cookies": false, "type": "", "demo": "tokens\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a token by its unique ID.", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -33960,7 +33904,6 @@ "cookies": false, "type": "", "demo": "users\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-users.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33971,6 +33914,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-users.md", "auth": { "Project": [], "Key": [] @@ -34047,7 +33991,6 @@ "cookies": false, "type": "", "demo": "users\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34058,6 +34001,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-user.md", "auth": { "Project": [], "Key": [] @@ -34140,7 +34084,6 @@ "cookies": false, "type": "", "demo": "users\/create-argon-2-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-argon2-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34151,6 +34094,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-argon2-user.md", "auth": { "Project": [], "Key": [] @@ -34228,7 +34172,6 @@ "cookies": false, "type": "", "demo": "users\/create-bcrypt-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-bcrypt-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34239,6 +34182,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-bcrypt-user.md", "auth": { "Project": [], "Key": [] @@ -34316,7 +34260,6 @@ "cookies": false, "type": "", "demo": "users\/list-identities.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-identities.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34327,6 +34270,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-identities.md", "auth": { "Project": [], "Key": [] @@ -34398,7 +34342,6 @@ "cookies": false, "type": "", "demo": "users\/delete-identity.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-identity.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34409,6 +34352,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-identity.md", "auth": { "Project": [], "Key": [] @@ -34462,7 +34406,6 @@ "cookies": false, "type": "", "demo": "users\/create-md-5-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-md5-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34473,6 +34416,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-md5-user.md", "auth": { "Project": [], "Key": [] @@ -34550,7 +34494,6 @@ "cookies": false, "type": "", "demo": "users\/create-ph-pass-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-phpass-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34561,6 +34504,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-phpass-user.md", "auth": { "Project": [], "Key": [] @@ -34638,7 +34582,6 @@ "cookies": false, "type": "", "demo": "users\/create-scrypt-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-scrypt-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34649,6 +34592,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-scrypt-user.md", "auth": { "Project": [], "Key": [] @@ -34756,7 +34700,6 @@ "cookies": false, "type": "", "demo": "users\/create-scrypt-modified-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-scrypt-modified-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34767,6 +34710,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-scrypt-modified-user.md", "auth": { "Project": [], "Key": [] @@ -34862,7 +34806,6 @@ "cookies": false, "type": "", "demo": "users\/create-sha-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-sha-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34873,6 +34816,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-sha-user.md", "auth": { "Project": [], "Key": [] @@ -34970,7 +34914,6 @@ "cookies": false, "type": "", "demo": "users\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34981,6 +34924,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user.md", "auth": { "Project": [], "Key": [] @@ -35025,7 +34969,6 @@ "cookies": false, "type": "", "demo": "users\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35036,6 +34979,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete.md", "auth": { "Project": [], "Key": [] @@ -35089,7 +35033,6 @@ "cookies": false, "type": "", "demo": "users\/update-email.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-email.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35100,6 +35043,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-email.md", "auth": { "Project": [], "Key": [] @@ -35172,7 +35116,6 @@ "cookies": false, "type": "", "demo": "users\/create-jwt.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-user-jwt.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35183,6 +35126,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-user-jwt.md", "auth": { "Project": [], "Key": [] @@ -35257,7 +35201,6 @@ "cookies": false, "type": "", "demo": "users\/update-labels.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-labels.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35268,6 +35211,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-labels.md", "auth": { "Project": [], "Key": [] @@ -35343,7 +35287,6 @@ "cookies": false, "type": "", "demo": "users\/list-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35354,6 +35297,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-logs.md", "auth": { "Project": [], "Key": [] @@ -35431,7 +35375,6 @@ "cookies": false, "type": "", "demo": "users\/list-memberships.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-memberships.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35442,6 +35385,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-memberships.md", "auth": { "Project": [], "Key": [] @@ -35530,7 +35474,6 @@ "cookies": false, "type": "", "demo": "users\/update-mfa.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-mfa.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35541,6 +35484,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-mfa.md", "deprecated": { "since": "1.8.0", "replaceWith": "users.updateMFA" @@ -35668,7 +35612,6 @@ "cookies": false, "type": "", "demo": "users\/delete-mfa-authenticator.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-mfa-authenticator.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35679,6 +35622,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-mfa-authenticator.md", "deprecated": { "since": "1.8.0", "replaceWith": "users.deleteMFAAuthenticator" @@ -35807,7 +35751,6 @@ "cookies": false, "type": "", "demo": "users\/list-mfa-factors.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-mfa-factors.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35818,6 +35761,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-mfa-factors.md", "deprecated": { "since": "1.8.0", "replaceWith": "users.listMFAFactors" @@ -35929,7 +35873,6 @@ "cookies": false, "type": "", "demo": "users\/get-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35940,6 +35883,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "users.getMFARecoveryCodes" @@ -36049,7 +35993,6 @@ "cookies": false, "type": "", "demo": "users\/update-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36060,6 +36003,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "users.updateMFARecoveryCodes" @@ -36169,7 +36113,6 @@ "cookies": false, "type": "", "demo": "users\/create-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36180,6 +36123,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "users.createMFARecoveryCodes" @@ -36291,7 +36235,6 @@ "cookies": false, "type": "", "demo": "users\/update-name.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-name.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36302,6 +36245,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-name.md", "auth": { "Project": [], "Key": [] @@ -36374,7 +36318,6 @@ "cookies": false, "type": "", "demo": "users\/update-password.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-password.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36385,6 +36328,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-password.md", "auth": { "Project": [], "Key": [] @@ -36457,7 +36401,6 @@ "cookies": false, "type": "", "demo": "users\/update-phone.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-phone.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36468,6 +36411,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-phone.md", "auth": { "Project": [], "Key": [] @@ -36540,7 +36484,6 @@ "cookies": false, "type": "", "demo": "users\/get-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36551,6 +36494,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user-prefs.md", "auth": { "Project": [], "Key": [] @@ -36602,7 +36546,6 @@ "cookies": false, "type": "", "demo": "users\/update-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36613,6 +36556,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-prefs.md", "auth": { "Project": [], "Key": [] @@ -36685,7 +36629,6 @@ "cookies": false, "type": "", "demo": "users\/list-sessions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-sessions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36696,6 +36639,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-sessions.md", "auth": { "Project": [], "Key": [] @@ -36758,7 +36702,6 @@ "cookies": false, "type": "", "demo": "users\/create-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-session.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36769,6 +36712,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-session.md", "auth": { "Project": [], "Key": [] @@ -36813,7 +36757,6 @@ "cookies": false, "type": "", "demo": "users\/delete-sessions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-user-sessions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36824,6 +36767,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-user-sessions.md", "auth": { "Project": [], "Key": [] @@ -36870,7 +36814,6 @@ "cookies": false, "type": "", "demo": "users\/delete-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-user-session.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36881,6 +36824,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-user-session.md", "auth": { "Project": [], "Key": [] @@ -36944,7 +36888,6 @@ "cookies": false, "type": "", "demo": "users\/update-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36955,6 +36898,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-status.md", "auth": { "Project": [], "Key": [] @@ -37027,7 +36971,6 @@ "cookies": false, "type": "", "demo": "users\/list-targets.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-targets.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37038,6 +36981,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-targets.md", "auth": { "Project": [], "Key": [] @@ -37113,7 +37057,6 @@ "cookies": false, "type": "", "demo": "users\/create-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37124,6 +37067,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-target.md", "auth": { "Project": [], "Key": [] @@ -37225,7 +37169,6 @@ "cookies": false, "type": "", "demo": "users\/get-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37236,6 +37179,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user-target.md", "auth": { "Project": [], "Key": [] @@ -37297,7 +37241,6 @@ "cookies": false, "type": "", "demo": "users\/update-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37308,6 +37251,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-target.md", "auth": { "Project": [], "Key": [] @@ -37388,7 +37332,6 @@ "cookies": false, "type": "", "demo": "users\/delete-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37399,6 +37342,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-target.md", "auth": { "Project": [], "Key": [] @@ -37462,7 +37406,6 @@ "cookies": false, "type": "", "demo": "users\/create-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-token.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37473,6 +37416,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-token.md", "auth": { "Project": [], "Key": [] @@ -37547,7 +37491,6 @@ "cookies": false, "type": "", "demo": "users\/update-email-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-email-verification.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37558,6 +37501,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-email-verification.md", "auth": { "Project": [], "Key": [] @@ -37630,7 +37574,6 @@ "cookies": false, "type": "", "demo": "users\/update-phone-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-phone-verification.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37641,6 +37584,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-phone-verification.md", "auth": { "Project": [], "Key": [] diff --git a/app/config/specs/swagger2-1.8.x-client.json b/app/config/specs/swagger2-1.8.x-client.json index 823c0ea134..ad85f3879e 100644 --- a/app/config/specs/swagger2-1.8.x-client.json +++ b/app/config/specs/swagger2-1.8.x-client.json @@ -98,7 +98,6 @@ "cookies": false, "type": "", "demo": "account\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -110,6 +109,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get.md", "auth": { "Project": [] } @@ -151,7 +151,6 @@ "cookies": false, "type": "", "demo": "account\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -163,6 +162,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create.md", "auth": { "Project": [] } @@ -246,7 +246,6 @@ "cookies": false, "type": "", "demo": "account\/update-email.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-email.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -258,6 +257,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-email.md", "auth": { "Project": [] } @@ -326,7 +326,6 @@ "cookies": false, "type": "", "demo": "account\/list-identities.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-identities.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -338,6 +337,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-identities.md", "auth": { "Project": [] } @@ -399,7 +399,6 @@ "cookies": false, "type": "", "demo": "account\/delete-identity.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-identity.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -411,6 +410,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-identity.md", "auth": { "Project": [] } @@ -464,7 +464,6 @@ "cookies": false, "type": "", "demo": "account\/create-jwt.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-jwt.md", "rate-limit": 100, "rate-time": 3600, "rate-key": "url:{url},userId:{userId}", @@ -476,6 +475,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-jwt.md", "auth": { "Project": [] } @@ -517,7 +517,6 @@ "cookies": false, "type": "", "demo": "account\/list-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -529,6 +528,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-logs.md", "auth": { "Project": [] } @@ -595,7 +595,6 @@ "cookies": false, "type": "", "demo": "account\/update-mfa.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -607,6 +606,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa.md", "auth": { "Project": [] } @@ -670,7 +670,6 @@ "cookies": false, "type": "", "demo": "account\/create-mfa-authenticator.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-authenticator.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -682,6 +681,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-authenticator.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.createMFAAuthenticator" @@ -794,7 +794,6 @@ "cookies": false, "type": "", "demo": "account\/update-mfa-authenticator.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-authenticator.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -806,6 +805,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-authenticator.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.updateMFAAuthenticator" @@ -935,7 +935,6 @@ "cookies": false, "type": "", "demo": "account\/delete-mfa-authenticator.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-mfa-authenticator.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -947,6 +946,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-mfa-authenticator.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.deleteMFAAuthenticator" @@ -1059,7 +1059,6 @@ "cookies": false, "type": "", "demo": "account\/create-mfa-challenge.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-challenge.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},userId:{userId}", @@ -1071,6 +1070,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-challenge.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.createMFAChallenge" @@ -1196,7 +1196,6 @@ "cookies": false, "type": "", "demo": "account\/update-mfa-challenge.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-challenge.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},challengeId:{param-challengeId}", @@ -1208,6 +1207,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-challenge.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.updateMFAChallenge" @@ -1336,7 +1336,6 @@ "cookies": false, "type": "", "demo": "account\/list-mfa-factors.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-mfa-factors.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1348,6 +1347,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-mfa-factors.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.listMFAFactors" @@ -1437,7 +1437,6 @@ "cookies": false, "type": "", "demo": "account\/get-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1449,6 +1448,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.getMFARecoveryCodes" @@ -1538,7 +1538,6 @@ "cookies": false, "type": "", "demo": "account\/create-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1550,6 +1549,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.createMFARecoveryCodes" @@ -1639,7 +1639,6 @@ "cookies": false, "type": "", "demo": "account\/update-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1651,6 +1650,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.updateMFARecoveryCodes" @@ -1742,7 +1742,6 @@ "cookies": false, "type": "", "demo": "account\/update-name.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-name.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1754,6 +1753,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-name.md", "auth": { "Project": [] } @@ -1817,7 +1817,6 @@ "cookies": false, "type": "", "demo": "account\/update-password.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-password.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1829,6 +1828,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-password.md", "auth": { "Project": [] } @@ -1898,7 +1898,6 @@ "cookies": false, "type": "", "demo": "account\/update-phone.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-phone.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1910,6 +1909,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-phone.md", "auth": { "Project": [] } @@ -1978,7 +1978,6 @@ "cookies": false, "type": "", "demo": "account\/get-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1990,6 +1989,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-prefs.md", "auth": { "Project": [] } @@ -2031,7 +2031,6 @@ "cookies": false, "type": "", "demo": "account\/update-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2043,6 +2042,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-prefs.md", "auth": { "Project": [] } @@ -2106,7 +2106,6 @@ "cookies": false, "type": "", "demo": "account\/create-recovery.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-recovery.md", "rate-limit": 10, "rate-time": 3600, "rate-key": [ @@ -2121,6 +2120,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-recovery.md", "auth": { "Project": [] } @@ -2189,7 +2189,6 @@ "cookies": false, "type": "", "demo": "account\/update-recovery.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-recovery.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},userId:{param-userId}", @@ -2201,6 +2200,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-recovery.md", "auth": { "Project": [] } @@ -2276,7 +2276,6 @@ "cookies": false, "type": "", "demo": "account\/list-sessions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-sessions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2288,6 +2287,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-sessions.md", "auth": { "Project": [] } @@ -2324,7 +2324,6 @@ "cookies": false, "type": "", "demo": "account\/delete-sessions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-sessions.md", "rate-limit": 100, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2336,6 +2335,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-sessions.md", "auth": { "Project": [] } @@ -2379,7 +2379,6 @@ "cookies": false, "type": "", "demo": "account\/create-anonymous-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-anonymous.md", "rate-limit": 50, "rate-time": 3600, "rate-key": "ip:{ip}", @@ -2391,6 +2390,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-anonymous.md", "auth": { "Project": [] } @@ -2434,7 +2434,6 @@ "cookies": false, "type": "", "demo": "account\/create-email-password-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-email-password.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},email:{param-email}", @@ -2446,6 +2445,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-email-password.md", "auth": { "Project": [] } @@ -2516,7 +2516,6 @@ "cookies": false, "type": "", "demo": "account\/update-magic-url-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "ip:{ip},userId:{param-userId}", @@ -2528,6 +2527,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "deprecated": { "since": "1.6.0", "replaceWith": "account.createSession" @@ -2597,7 +2597,6 @@ "cookies": false, "type": "webAuth", "demo": "account\/create-o-auth-2-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-oauth2.md", "rate-limit": 50, "rate-time": 3600, "rate-key": "ip:{ip}", @@ -2609,6 +2608,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-oauth2.md", "auth": { "Project": [] } @@ -2738,7 +2738,6 @@ "cookies": false, "type": "", "demo": "account\/update-phone-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "ip:{ip},userId:{param-userId}", @@ -2750,6 +2749,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "deprecated": { "since": "1.6.0", "replaceWith": "account.createSession" @@ -2824,7 +2824,6 @@ "cookies": false, "type": "", "demo": "account\/create-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "ip:{ip},userId:{param-userId}", @@ -2836,6 +2835,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "auth": { "Project": [] } @@ -2904,7 +2904,6 @@ "cookies": false, "type": "", "demo": "account\/get-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-session.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2916,6 +2915,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-session.md", "auth": { "Project": [] } @@ -2967,7 +2967,6 @@ "cookies": false, "type": "", "demo": "account\/update-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-session.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2979,6 +2978,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-session.md", "auth": { "Project": [] } @@ -3025,7 +3025,6 @@ "cookies": false, "type": "", "demo": "account\/delete-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-session.md", "rate-limit": 100, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -3037,6 +3036,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-session.md", "auth": { "Project": [] } @@ -3090,7 +3090,6 @@ "cookies": false, "type": "", "demo": "account\/update-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -3102,6 +3101,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-status.md", "auth": { "Project": [] } @@ -3145,7 +3145,6 @@ "cookies": false, "type": "", "demo": "account\/create-push-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-push-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -3156,6 +3155,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-push-target.md", "auth": { "Project": [] } @@ -3231,7 +3231,6 @@ "cookies": false, "type": "", "demo": "account\/update-push-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-push-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -3242,6 +3241,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-push-target.md", "auth": { "Project": [] } @@ -3305,7 +3305,6 @@ "cookies": false, "type": "", "demo": "account\/delete-push-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-push-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -3316,6 +3315,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-push-target.md", "auth": { "Project": [] } @@ -3368,7 +3368,6 @@ "cookies": false, "type": "", "demo": "account\/create-email-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-email.md", "rate-limit": 10, "rate-time": 3600, "rate-key": [ @@ -3383,6 +3382,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-email.md", "auth": { "Project": [] } @@ -3459,7 +3459,6 @@ "cookies": false, "type": "", "demo": "account\/create-magic-url-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-magic-url.md", "rate-limit": 60, "rate-time": 3600, "rate-key": [ @@ -3474,6 +3473,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-magic-url.md", "auth": { "Project": [] } @@ -3551,7 +3551,6 @@ "cookies": false, "type": "webAuth", "demo": "account\/create-o-auth-2-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-oauth2.md", "rate-limit": 50, "rate-time": 3600, "rate-key": "ip:{ip}", @@ -3563,6 +3562,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-oauth2.md", "auth": { "Project": [] } @@ -3692,7 +3692,6 @@ "cookies": false, "type": "", "demo": "account\/create-phone-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-phone.md", "rate-limit": 10, "rate-time": 3600, "rate-key": [ @@ -3707,6 +3706,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-phone.md", "auth": { "Project": [] } @@ -3777,7 +3777,6 @@ "cookies": false, "type": "", "demo": "account\/create-email-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-email-verification.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},userId:{userId}", @@ -3789,6 +3788,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-email-verification.md", "methods": [ { "name": "createEmailVerification", @@ -3902,7 +3902,6 @@ "cookies": false, "type": "", "demo": "account\/update-email-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-email-verification.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},userId:{param-userId}", @@ -3914,6 +3913,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-email-verification.md", "methods": [ { "name": "updateEmailVerification", @@ -4040,7 +4040,6 @@ "cookies": false, "type": "", "demo": "account\/create-phone-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-phone-verification.md", "rate-limit": 10, "rate-time": 3600, "rate-key": [ @@ -4055,6 +4054,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-phone-verification.md", "auth": { "Project": [] } @@ -4096,7 +4096,6 @@ "cookies": false, "type": "", "demo": "account\/update-phone-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-phone-verification.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "userId:{param-userId}", @@ -4108,6 +4107,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-phone-verification.md", "auth": { "Project": [] } @@ -4176,7 +4176,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-browser.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-browser.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4188,6 +4187,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-browser.md", "auth": { "Project": [] } @@ -4302,7 +4302,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-credit-card.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-credit-card.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4314,6 +4313,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-credit-card.md", "auth": { "Project": [] } @@ -4434,7 +4434,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-favicon.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-favicon.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4446,6 +4445,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-favicon.md", "auth": { "Project": [] } @@ -4498,7 +4498,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-flag.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-flag.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4510,6 +4509,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-flag.md", "auth": { "Project": [] } @@ -4986,7 +4986,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-image.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-image.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4998,6 +4997,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-image.md", "auth": { "Project": [] } @@ -5070,7 +5070,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-initials.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-initials.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -5082,6 +5081,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-initials.md", "auth": { "Project": [] } @@ -5162,7 +5162,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-qr.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-qr.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -5174,6 +5173,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-qr.md", "auth": { "Project": [] } @@ -5254,7 +5254,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-screenshot.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-screenshot.md", "rate-limit": 60, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -5266,6 +5265,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-screenshot.md", "auth": { "Project": [] } @@ -5967,7 +5967,6 @@ "cookies": false, "type": "", "demo": "databases\/list-transactions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-transactions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -5979,6 +5978,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-transactions.md", "auth": { "Project": [] } @@ -6034,7 +6034,6 @@ "cookies": false, "type": "", "demo": "databases\/create-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6046,6 +6045,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-transaction.md", "auth": { "Project": [] } @@ -6104,7 +6104,6 @@ "cookies": false, "type": "", "demo": "databases\/get-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6116,6 +6115,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-transaction.md", "auth": { "Project": [] } @@ -6167,7 +6167,6 @@ "cookies": false, "type": "", "demo": "databases\/update-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6179,6 +6178,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-transaction.md", "auth": { "Project": [] } @@ -6246,7 +6246,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6258,6 +6257,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-transaction.md", "auth": { "Project": [] } @@ -6311,7 +6311,6 @@ "cookies": false, "type": "", "demo": "databases\/create-operations.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-operations.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6323,6 +6322,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-operations.md", "auth": { "Project": [] } @@ -6392,7 +6392,6 @@ "cookies": false, "type": "", "demo": "databases\/list-documents.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-documents.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6404,6 +6403,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-documents.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.listRows" @@ -6496,7 +6496,6 @@ "cookies": false, "type": "", "demo": "databases\/create-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-document.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -6508,6 +6507,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createRow" @@ -6655,7 +6655,6 @@ "cookies": false, "type": "", "demo": "databases\/get-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-document.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6667,6 +6666,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.getRow" @@ -6758,7 +6758,6 @@ "cookies": false, "type": "", "demo": "databases\/upsert-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-document.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -6770,6 +6769,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.upsertRow" @@ -6913,7 +6913,6 @@ "cookies": false, "type": "", "demo": "databases\/update-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-document.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -6925,6 +6924,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateRow" @@ -7023,7 +7023,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-document.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -7035,6 +7034,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.deleteRow" @@ -7124,7 +7124,6 @@ "cookies": false, "type": "", "demo": "databases\/decrement-document-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/decrement-document-attribute.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -7136,6 +7135,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/decrement-document-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.decrementRowColumn" @@ -7245,7 +7245,6 @@ "cookies": false, "type": "", "demo": "databases\/increment-document-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/increment-document-attribute.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -7257,6 +7256,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/increment-document-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.incrementRowColumn" @@ -7364,7 +7364,6 @@ "cookies": false, "type": "", "demo": "functions\/list-executions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all the current user function execution logs. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7448,7 +7447,6 @@ "cookies": false, "type": "", "demo": "functions\/create-execution.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterTrigger a function execution. The returned object will return you the current execution status. You can ping the `Get Execution` endpoint to get updates on the current execution status. Once this endpoint is called, your function execution process will start asynchronously.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7568,7 +7566,6 @@ "cookies": false, "type": "", "demo": "functions\/get-execution.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a function execution log by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7641,7 +7638,6 @@ "cookies": false, "type": "graphql", "demo": "graphql\/query.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "rate-limit": 60, "rate-time": 60, "rate-key": "url:{url},ip:{ip}", @@ -7653,6 +7649,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "auth": { "Project": [] } @@ -7716,7 +7713,6 @@ "cookies": false, "type": "graphql", "demo": "graphql\/mutation.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "rate-limit": 60, "rate-time": 60, "rate-key": "url:{url},ip:{ip}", @@ -7728,6 +7724,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "auth": { "Project": [] } @@ -7789,7 +7786,6 @@ "cookies": false, "type": "", "demo": "locale\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/get-locale.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7801,6 +7797,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/get-locale.md", "auth": { "Project": [] } @@ -7842,7 +7839,6 @@ "cookies": false, "type": "", "demo": "locale\/list-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-locale-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7854,6 +7850,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-locale-codes.md", "auth": { "Project": [] } @@ -7895,7 +7892,6 @@ "cookies": false, "type": "", "demo": "locale\/list-continents.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-continents.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7907,6 +7903,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-continents.md", "auth": { "Project": [] } @@ -7948,7 +7945,6 @@ "cookies": false, "type": "", "demo": "locale\/list-countries.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7960,6 +7956,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries.md", "auth": { "Project": [] } @@ -8001,7 +7998,6 @@ "cookies": false, "type": "", "demo": "locale\/list-countries-eu.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-eu.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8013,6 +8009,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-eu.md", "auth": { "Project": [] } @@ -8054,7 +8051,6 @@ "cookies": false, "type": "", "demo": "locale\/list-countries-phones.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-phones.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8066,6 +8062,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-phones.md", "auth": { "Project": [] } @@ -8107,7 +8104,6 @@ "cookies": false, "type": "", "demo": "locale\/list-currencies.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-currencies.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8119,6 +8115,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-currencies.md", "auth": { "Project": [] } @@ -8160,7 +8157,6 @@ "cookies": false, "type": "", "demo": "locale\/list-languages.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-languages.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8172,6 +8168,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-languages.md", "auth": { "Project": [] } @@ -8215,7 +8212,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-subscriber.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-subscriber.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8227,6 +8223,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-subscriber.md", "auth": { "Project": [] } @@ -8300,7 +8297,6 @@ "cookies": false, "type": "", "demo": "messaging\/delete-subscriber.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-subscriber.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8312,6 +8308,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-subscriber.md", "auth": { "Project": [] } @@ -8371,7 +8368,6 @@ "cookies": false, "type": "", "demo": "storage\/list-files.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-files.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8383,6 +8379,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-files.md", "auth": { "Project": [] } @@ -8464,7 +8461,6 @@ "cookies": false, "type": "upload", "demo": "storage\/create-file.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-file.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId},chunkId:{chunkId}", @@ -8476,6 +8472,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-file.md", "auth": { "Project": [] } @@ -8555,7 +8552,6 @@ "cookies": false, "type": "", "demo": "storage\/get-file.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8567,6 +8563,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file.md", "auth": { "Project": [] } @@ -8626,7 +8623,6 @@ "cookies": false, "type": "", "demo": "storage\/update-file.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/update-file.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -8638,6 +8634,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/update-file.md", "auth": { "Project": [] } @@ -8718,7 +8715,6 @@ "cookies": false, "type": "", "demo": "storage\/delete-file.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/delete-file.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -8730,6 +8726,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/delete-file.md", "auth": { "Project": [] } @@ -8789,7 +8786,6 @@ "cookies": false, "type": "location", "demo": "storage\/get-file-download.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-download.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8801,6 +8797,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-download.md", "auth": { "Project": [] } @@ -8869,7 +8866,6 @@ "cookies": false, "type": "location", "demo": "storage\/get-file-preview.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-preview.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8881,6 +8877,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-preview.md", "auth": { "Project": [] } @@ -9077,7 +9074,6 @@ "cookies": false, "type": "location", "demo": "storage\/get-file-view.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-view.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9089,6 +9085,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-view.md", "auth": { "Project": [] } @@ -9157,7 +9154,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-transactions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-transactions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9172,6 +9168,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-transactions.md", "auth": { "Project": [] } @@ -9227,7 +9224,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9242,6 +9238,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-transaction.md", "auth": { "Project": [] } @@ -9300,7 +9297,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9315,6 +9311,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-transaction.md", "auth": { "Project": [] } @@ -9366,7 +9363,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9381,6 +9377,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-transaction.md", "auth": { "Project": [] } @@ -9448,7 +9445,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9463,6 +9459,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-transaction.md", "auth": { "Project": [] } @@ -9516,7 +9513,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-operations.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-operations.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9531,6 +9527,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-operations.md", "auth": { "Project": [] } @@ -9600,7 +9597,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-rows.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-rows.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9615,6 +9611,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-rows.md", "auth": { "Project": [] } @@ -9703,7 +9700,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-row.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -9718,6 +9714,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-row.md", "methods": [ { "name": "createRow", @@ -9857,7 +9854,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-row.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9872,6 +9868,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-row.md", "auth": { "Project": [] } @@ -9959,7 +9956,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/upsert-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/upsert-row.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -9974,6 +9970,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/upsert-row.md", "methods": [ { "name": "upsertRow", @@ -10105,7 +10102,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-row.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -10120,6 +10116,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-row.md", "auth": { "Project": [] } @@ -10214,7 +10211,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-row.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -10229,6 +10225,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-row.md", "auth": { "Project": [] } @@ -10314,7 +10311,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/decrement-row-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/decrement-row-column.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -10329,6 +10325,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/decrement-row-column.md", "auth": { "Project": [] } @@ -10434,7 +10431,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/increment-row-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/increment-row-column.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -10449,6 +10445,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/increment-row-column.md", "auth": { "Project": [] } @@ -10552,7 +10549,6 @@ "cookies": false, "type": "", "demo": "teams\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-teams.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10564,6 +10560,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-teams.md", "auth": { "Project": [] } @@ -10637,7 +10634,6 @@ "cookies": false, "type": "", "demo": "teams\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10649,6 +10645,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team.md", "auth": { "Project": [] } @@ -10728,7 +10725,6 @@ "cookies": false, "type": "", "demo": "teams\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10740,6 +10736,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team.md", "auth": { "Project": [] } @@ -10791,7 +10788,6 @@ "cookies": false, "type": "", "demo": "teams\/update-name.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-name.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10803,6 +10799,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-name.md", "auth": { "Project": [] } @@ -10867,7 +10864,6 @@ "cookies": false, "type": "", "demo": "teams\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10879,6 +10875,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team.md", "auth": { "Project": [] } @@ -10930,7 +10927,6 @@ "cookies": false, "type": "", "demo": "teams\/list-memberships.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-team-members.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10942,6 +10938,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-team-members.md", "auth": { "Project": [] } @@ -11023,7 +11020,6 @@ "cookies": false, "type": "", "demo": "teams\/create-membership.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team-membership.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -11035,6 +11031,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team-membership.md", "auth": { "Project": [] } @@ -11144,7 +11141,6 @@ "cookies": false, "type": "", "demo": "teams\/get-membership.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-member.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -11156,6 +11152,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-member.md", "auth": { "Project": [] } @@ -11215,7 +11212,6 @@ "cookies": false, "type": "", "demo": "teams\/update-membership.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -11227,6 +11223,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership.md", "auth": { "Project": [] } @@ -11309,7 +11306,6 @@ "cookies": false, "type": "", "demo": "teams\/delete-membership.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team-membership.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -11321,6 +11317,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team-membership.md", "auth": { "Project": [] } @@ -11382,7 +11379,6 @@ "cookies": false, "type": "", "demo": "teams\/update-membership-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -11394,6 +11390,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership-status.md", "auth": { "Project": [] } @@ -11478,7 +11475,6 @@ "cookies": false, "type": "", "demo": "teams\/get-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -11490,6 +11486,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-prefs.md", "auth": { "Project": [] } @@ -11541,7 +11538,6 @@ "cookies": false, "type": "", "demo": "teams\/update-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -11553,6 +11549,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-prefs.md", "auth": { "Project": [] } diff --git a/app/config/specs/swagger2-1.8.x-console.json b/app/config/specs/swagger2-1.8.x-console.json index d846b05dff..589a6d57b5 100644 --- a/app/config/specs/swagger2-1.8.x-console.json +++ b/app/config/specs/swagger2-1.8.x-console.json @@ -104,7 +104,6 @@ "cookies": false, "type": "", "demo": "account\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -116,6 +115,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get.md", "auth": { "Project": [] } @@ -156,7 +156,6 @@ "cookies": false, "type": "", "demo": "account\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -168,6 +167,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create.md", "auth": { "Project": [] } @@ -243,7 +243,6 @@ "cookies": false, "type": "", "demo": "account\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -253,6 +252,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete.md", "auth": { "Project": [] } @@ -294,7 +294,6 @@ "cookies": false, "type": "", "demo": "account\/update-email.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-email.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -306,6 +305,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-email.md", "auth": { "Project": [] } @@ -373,7 +373,6 @@ "cookies": false, "type": "", "demo": "account\/list-identities.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-identities.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -385,6 +384,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-identities.md", "auth": { "Project": [] } @@ -445,7 +445,6 @@ "cookies": false, "type": "", "demo": "account\/delete-identity.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-identity.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -457,6 +456,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-identity.md", "auth": { "Project": [] } @@ -509,7 +509,6 @@ "cookies": false, "type": "", "demo": "account\/create-jwt.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-jwt.md", "rate-limit": 100, "rate-time": 3600, "rate-key": "url:{url},userId:{userId}", @@ -521,6 +520,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-jwt.md", "auth": { "Project": [] } @@ -561,7 +561,6 @@ "cookies": false, "type": "", "demo": "account\/list-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -573,6 +572,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-logs.md", "auth": { "Project": [] } @@ -638,7 +638,6 @@ "cookies": false, "type": "", "demo": "account\/update-mfa.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -650,6 +649,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa.md", "auth": { "Project": [] } @@ -712,7 +712,6 @@ "cookies": false, "type": "", "demo": "account\/create-mfa-authenticator.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-authenticator.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -724,6 +723,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-authenticator.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.createMFAAuthenticator" @@ -835,7 +835,6 @@ "cookies": false, "type": "", "demo": "account\/update-mfa-authenticator.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-authenticator.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -847,6 +846,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-authenticator.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.updateMFAAuthenticator" @@ -975,7 +975,6 @@ "cookies": false, "type": "", "demo": "account\/delete-mfa-authenticator.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-mfa-authenticator.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -987,6 +986,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-mfa-authenticator.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.deleteMFAAuthenticator" @@ -1098,7 +1098,6 @@ "cookies": false, "type": "", "demo": "account\/create-mfa-challenge.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-challenge.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},userId:{userId}", @@ -1110,6 +1109,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-challenge.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.createMFAChallenge" @@ -1234,7 +1234,6 @@ "cookies": false, "type": "", "demo": "account\/update-mfa-challenge.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-challenge.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},challengeId:{param-challengeId}", @@ -1246,6 +1245,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-challenge.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.updateMFAChallenge" @@ -1373,7 +1373,6 @@ "cookies": false, "type": "", "demo": "account\/list-mfa-factors.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-mfa-factors.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1385,6 +1384,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-mfa-factors.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.listMFAFactors" @@ -1473,7 +1473,6 @@ "cookies": false, "type": "", "demo": "account\/get-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1485,6 +1484,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.getMFARecoveryCodes" @@ -1573,7 +1573,6 @@ "cookies": false, "type": "", "demo": "account\/create-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1585,6 +1584,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.createMFARecoveryCodes" @@ -1673,7 +1673,6 @@ "cookies": false, "type": "", "demo": "account\/update-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1685,6 +1684,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.updateMFARecoveryCodes" @@ -1775,7 +1775,6 @@ "cookies": false, "type": "", "demo": "account\/update-name.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-name.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1787,6 +1786,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-name.md", "auth": { "Project": [] } @@ -1849,7 +1849,6 @@ "cookies": false, "type": "", "demo": "account\/update-password.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-password.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1861,6 +1860,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-password.md", "auth": { "Project": [] } @@ -1929,7 +1929,6 @@ "cookies": false, "type": "", "demo": "account\/update-phone.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-phone.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1941,6 +1940,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-phone.md", "auth": { "Project": [] } @@ -2008,7 +2008,6 @@ "cookies": false, "type": "", "demo": "account\/get-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2020,6 +2019,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-prefs.md", "auth": { "Project": [] } @@ -2060,7 +2060,6 @@ "cookies": false, "type": "", "demo": "account\/update-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2072,6 +2071,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-prefs.md", "auth": { "Project": [] } @@ -2134,7 +2134,6 @@ "cookies": false, "type": "", "demo": "account\/create-recovery.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-recovery.md", "rate-limit": 10, "rate-time": 3600, "rate-key": [ @@ -2149,6 +2148,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-recovery.md", "auth": { "Project": [] } @@ -2216,7 +2216,6 @@ "cookies": false, "type": "", "demo": "account\/update-recovery.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-recovery.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},userId:{param-userId}", @@ -2228,6 +2227,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-recovery.md", "auth": { "Project": [] } @@ -2302,7 +2302,6 @@ "cookies": false, "type": "", "demo": "account\/list-sessions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-sessions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2314,6 +2313,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-sessions.md", "auth": { "Project": [] } @@ -2349,7 +2349,6 @@ "cookies": false, "type": "", "demo": "account\/delete-sessions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-sessions.md", "rate-limit": 100, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2361,6 +2360,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-sessions.md", "auth": { "Project": [] } @@ -2403,7 +2403,6 @@ "cookies": false, "type": "", "demo": "account\/create-anonymous-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-anonymous.md", "rate-limit": 50, "rate-time": 3600, "rate-key": "ip:{ip}", @@ -2415,6 +2414,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-anonymous.md", "auth": { "Project": [] } @@ -2457,7 +2457,6 @@ "cookies": false, "type": "", "demo": "account\/create-email-password-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-email-password.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},email:{param-email}", @@ -2469,6 +2468,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-email-password.md", "auth": { "Project": [] } @@ -2538,7 +2538,6 @@ "cookies": false, "type": "", "demo": "account\/update-magic-url-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "ip:{ip},userId:{param-userId}", @@ -2550,6 +2549,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "deprecated": { "since": "1.6.0", "replaceWith": "account.createSession" @@ -2618,7 +2618,6 @@ "cookies": false, "type": "webAuth", "demo": "account\/create-o-auth-2-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-oauth2.md", "rate-limit": 50, "rate-time": 3600, "rate-key": "ip:{ip}", @@ -2630,6 +2629,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-oauth2.md", "auth": { "Project": [] } @@ -2758,7 +2758,6 @@ "cookies": false, "type": "", "demo": "account\/update-phone-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "ip:{ip},userId:{param-userId}", @@ -2770,6 +2769,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "deprecated": { "since": "1.6.0", "replaceWith": "account.createSession" @@ -2843,7 +2843,6 @@ "cookies": false, "type": "", "demo": "account\/create-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "ip:{ip},userId:{param-userId}", @@ -2855,6 +2854,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "auth": { "Project": [] } @@ -2922,7 +2922,6 @@ "cookies": false, "type": "", "demo": "account\/get-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-session.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2934,6 +2933,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-session.md", "auth": { "Project": [] } @@ -2984,7 +2984,6 @@ "cookies": false, "type": "", "demo": "account\/update-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-session.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2996,6 +2995,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-session.md", "auth": { "Project": [] } @@ -3041,7 +3041,6 @@ "cookies": false, "type": "", "demo": "account\/delete-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-session.md", "rate-limit": 100, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -3053,6 +3052,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-session.md", "auth": { "Project": [] } @@ -3105,7 +3105,6 @@ "cookies": false, "type": "", "demo": "account\/update-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -3117,6 +3116,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-status.md", "auth": { "Project": [] } @@ -3159,7 +3159,6 @@ "cookies": false, "type": "", "demo": "account\/create-push-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-push-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -3170,6 +3169,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-push-target.md", "auth": { "Project": [] } @@ -3244,7 +3244,6 @@ "cookies": false, "type": "", "demo": "account\/update-push-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-push-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -3255,6 +3254,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-push-target.md", "auth": { "Project": [] } @@ -3317,7 +3317,6 @@ "cookies": false, "type": "", "demo": "account\/delete-push-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-push-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -3328,6 +3327,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-push-target.md", "auth": { "Project": [] } @@ -3379,7 +3379,6 @@ "cookies": false, "type": "", "demo": "account\/create-email-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-email.md", "rate-limit": 10, "rate-time": 3600, "rate-key": [ @@ -3394,6 +3393,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-email.md", "auth": { "Project": [] } @@ -3469,7 +3469,6 @@ "cookies": false, "type": "", "demo": "account\/create-magic-url-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-magic-url.md", "rate-limit": 60, "rate-time": 3600, "rate-key": [ @@ -3484,6 +3483,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-magic-url.md", "auth": { "Project": [] } @@ -3560,7 +3560,6 @@ "cookies": false, "type": "webAuth", "demo": "account\/create-o-auth-2-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-oauth2.md", "rate-limit": 50, "rate-time": 3600, "rate-key": "ip:{ip}", @@ -3572,6 +3571,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-oauth2.md", "auth": { "Project": [] } @@ -3700,7 +3700,6 @@ "cookies": false, "type": "", "demo": "account\/create-phone-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-phone.md", "rate-limit": 10, "rate-time": 3600, "rate-key": [ @@ -3715,6 +3714,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-phone.md", "auth": { "Project": [] } @@ -3784,7 +3784,6 @@ "cookies": false, "type": "", "demo": "account\/create-email-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-email-verification.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},userId:{userId}", @@ -3796,6 +3795,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-email-verification.md", "methods": [ { "name": "createEmailVerification", @@ -3908,7 +3908,6 @@ "cookies": false, "type": "", "demo": "account\/update-email-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-email-verification.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},userId:{param-userId}", @@ -3920,6 +3919,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-email-verification.md", "methods": [ { "name": "updateEmailVerification", @@ -4045,7 +4045,6 @@ "cookies": false, "type": "", "demo": "account\/create-phone-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-phone-verification.md", "rate-limit": 10, "rate-time": 3600, "rate-key": [ @@ -4060,6 +4059,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-phone-verification.md", "auth": { "Project": [] } @@ -4100,7 +4100,6 @@ "cookies": false, "type": "", "demo": "account\/update-phone-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-phone-verification.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "userId:{param-userId}", @@ -4112,6 +4111,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-phone-verification.md", "auth": { "Project": [] } @@ -4179,7 +4179,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-browser.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-browser.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4191,6 +4190,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-browser.md", "auth": { "Project": [] } @@ -4305,7 +4305,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-credit-card.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-credit-card.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4317,6 +4316,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-credit-card.md", "auth": { "Project": [] } @@ -4437,7 +4437,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-favicon.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-favicon.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4449,6 +4448,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-favicon.md", "auth": { "Project": [] } @@ -4501,7 +4501,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-flag.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-flag.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4513,6 +4512,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-flag.md", "auth": { "Project": [] } @@ -4989,7 +4989,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-image.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-image.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -5001,6 +5000,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-image.md", "auth": { "Project": [] } @@ -5073,7 +5073,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-initials.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-initials.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -5085,6 +5084,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-initials.md", "auth": { "Project": [] } @@ -5165,7 +5165,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-qr.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-qr.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -5177,6 +5176,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-qr.md", "auth": { "Project": [] } @@ -5257,7 +5257,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-screenshot.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-screenshot.md", "rate-limit": 60, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -5269,6 +5268,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-screenshot.md", "auth": { "Project": [] } @@ -5972,7 +5972,6 @@ "cookies": false, "type": "", "demo": "assistant\/chat.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/assistant\/chat.md", "rate-limit": 15, "rate-time": 3600, "rate-key": "userId:{userId}", @@ -5982,6 +5981,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/assistant\/chat.md", "auth": { "Project": [] } @@ -6036,7 +6036,6 @@ "cookies": false, "type": "", "demo": "console\/get-resource.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCheck if a resource ID is available.", "rate-limit": 120, "rate-time": 60, "rate-key": "userId:{userId}, url:{url}", @@ -6108,7 +6107,6 @@ "cookies": false, "type": "", "demo": "console\/variables.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/console\/variables.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6118,6 +6116,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/console\/variables.md", "auth": { "Project": [] } @@ -6157,7 +6156,6 @@ "cookies": false, "type": "", "demo": "databases\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6168,6 +6166,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.list" @@ -6273,7 +6272,6 @@ "cookies": false, "type": "", "demo": "databases\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6284,6 +6282,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.create" @@ -6393,7 +6392,6 @@ "cookies": false, "type": "", "demo": "databases\/list-transactions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-transactions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6405,6 +6403,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-transactions.md", "auth": { "Project": [] } @@ -6460,7 +6459,6 @@ "cookies": false, "type": "", "demo": "databases\/create-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6472,6 +6470,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-transaction.md", "auth": { "Project": [] } @@ -6530,7 +6529,6 @@ "cookies": false, "type": "", "demo": "databases\/get-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6542,6 +6540,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-transaction.md", "auth": { "Project": [] } @@ -6593,7 +6592,6 @@ "cookies": false, "type": "", "demo": "databases\/update-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6605,6 +6603,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-transaction.md", "auth": { "Project": [] } @@ -6672,7 +6671,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6684,6 +6682,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-transaction.md", "auth": { "Project": [] } @@ -6737,7 +6736,6 @@ "cookies": false, "type": "", "demo": "databases\/create-operations.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-operations.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6749,6 +6747,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-operations.md", "auth": { "Project": [] } @@ -6818,7 +6817,6 @@ "cookies": false, "type": "", "demo": "databases\/list-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6828,6 +6826,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-usage.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.listUsage" @@ -6920,7 +6919,6 @@ "cookies": false, "type": "", "demo": "databases\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6931,6 +6929,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.get" @@ -7014,7 +7013,6 @@ "cookies": false, "type": "", "demo": "databases\/update.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7025,6 +7023,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.update" @@ -7130,7 +7129,6 @@ "cookies": false, "type": "", "demo": "databases\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7141,6 +7139,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.delete" @@ -7223,7 +7222,6 @@ "cookies": false, "type": "", "demo": "databases\/list-collections.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-collections.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7234,6 +7232,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-collections.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.listTables" @@ -7318,7 +7317,6 @@ "cookies": false, "type": "", "demo": "databases\/create-collection.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-collection.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7329,6 +7327,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-collection.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createTable" @@ -7448,7 +7447,6 @@ "cookies": false, "type": "", "demo": "databases\/get-collection.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-collection.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7459,6 +7457,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-collection.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.getTable" @@ -7521,7 +7520,6 @@ "cookies": false, "type": "", "demo": "databases\/update-collection.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-collection.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7532,6 +7530,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-collection.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateTable" @@ -7629,7 +7628,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-collection.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-collection.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7640,6 +7638,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-collection.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.deleteTable" @@ -7702,7 +7701,6 @@ "cookies": false, "type": "", "demo": "databases\/list-attributes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-attributes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7713,6 +7711,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-attributes.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.listColumns" @@ -7798,7 +7797,6 @@ "cookies": false, "type": "", "demo": "databases\/create-boolean-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-boolean-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7809,6 +7807,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-boolean-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createBooleanColumn" @@ -7911,7 +7910,6 @@ "cookies": false, "type": "", "demo": "databases\/update-boolean-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-boolean-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7922,6 +7920,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-boolean-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateBooleanColumn" @@ -8026,7 +8025,6 @@ "cookies": false, "type": "", "demo": "databases\/create-datetime-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-datetime-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8037,6 +8035,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-datetime-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createDatetimeColumn" @@ -8139,7 +8138,6 @@ "cookies": false, "type": "", "demo": "databases\/update-datetime-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-datetime-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8150,6 +8148,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-datetime-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateDatetimeColumn" @@ -8254,7 +8253,6 @@ "cookies": false, "type": "", "demo": "databases\/create-email-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-email-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8265,6 +8263,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-email-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createEmailColumn" @@ -8367,7 +8366,6 @@ "cookies": false, "type": "", "demo": "databases\/update-email-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-email-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8378,6 +8376,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-email-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateEmailColumn" @@ -8482,7 +8481,6 @@ "cookies": false, "type": "", "demo": "databases\/create-enum-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-enum-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8493,6 +8491,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-enum-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createEnumColumn" @@ -8605,7 +8604,6 @@ "cookies": false, "type": "", "demo": "databases\/update-enum-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-enum-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8616,6 +8614,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-enum-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateEnumColumn" @@ -8730,7 +8729,6 @@ "cookies": false, "type": "", "demo": "databases\/create-float-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-float-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8741,6 +8739,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-float-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createFloatColumn" @@ -8857,7 +8856,6 @@ "cookies": false, "type": "", "demo": "databases\/update-float-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-float-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8868,6 +8866,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-float-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateFloatColumn" @@ -8986,7 +8985,6 @@ "cookies": false, "type": "", "demo": "databases\/create-integer-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-integer-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8997,6 +8995,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-integer-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createIntegerColumn" @@ -9113,7 +9112,6 @@ "cookies": false, "type": "", "demo": "databases\/update-integer-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-integer-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9124,6 +9122,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-integer-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateIntegerColumn" @@ -9242,7 +9241,6 @@ "cookies": false, "type": "", "demo": "databases\/create-ip-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-ip-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9253,6 +9251,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-ip-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createIpColumn" @@ -9355,7 +9354,6 @@ "cookies": false, "type": "", "demo": "databases\/update-ip-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-ip-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9366,6 +9364,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-ip-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateIpColumn" @@ -9470,7 +9469,6 @@ "cookies": false, "type": "", "demo": "databases\/create-line-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-line-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9481,6 +9479,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-line-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createLineColumn" @@ -9577,7 +9576,6 @@ "cookies": false, "type": "", "demo": "databases\/update-line-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-line-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9588,6 +9586,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-line-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateLineColumn" @@ -9691,7 +9690,6 @@ "cookies": false, "type": "", "demo": "databases\/create-point-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-point-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9702,6 +9700,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-point-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createPointColumn" @@ -9798,7 +9797,6 @@ "cookies": false, "type": "", "demo": "databases\/update-point-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-point-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9809,6 +9807,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-point-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updatePointColumn" @@ -9912,7 +9911,6 @@ "cookies": false, "type": "", "demo": "databases\/create-polygon-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-polygon-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9923,6 +9921,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-polygon-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createPolygonColumn" @@ -10019,7 +10018,6 @@ "cookies": false, "type": "", "demo": "databases\/update-polygon-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-polygon-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10030,6 +10028,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-polygon-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updatePolygonColumn" @@ -10133,7 +10132,6 @@ "cookies": false, "type": "", "demo": "databases\/create-relationship-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-relationship-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10144,6 +10142,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-relationship-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createRelationshipColumn" @@ -10274,7 +10273,6 @@ "cookies": false, "type": "", "demo": "databases\/create-string-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-string-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10285,6 +10283,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-string-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createStringColumn" @@ -10400,7 +10399,6 @@ "cookies": false, "type": "", "demo": "databases\/update-string-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-string-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10411,6 +10409,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-string-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateStringColumn" @@ -10522,7 +10521,6 @@ "cookies": false, "type": "", "demo": "databases\/create-url-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-url-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10533,6 +10531,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-url-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createUrlColumn" @@ -10635,7 +10634,6 @@ "cookies": false, "type": "", "demo": "databases\/update-url-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-url-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10646,6 +10644,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-url-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateUrlColumn" @@ -10779,7 +10778,6 @@ "cookies": false, "type": "", "demo": "databases\/get-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10790,6 +10788,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.getColumn" @@ -10854,7 +10853,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10865,6 +10863,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.deleteColumn" @@ -10936,7 +10935,6 @@ "cookies": false, "type": "", "demo": "databases\/update-relationship-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-relationship-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10947,6 +10945,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-relationship-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateRelationshipColumn" @@ -11046,7 +11045,6 @@ "cookies": false, "type": "", "demo": "databases\/list-documents.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-documents.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -11058,6 +11056,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-documents.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.listRows" @@ -11150,7 +11149,6 @@ "cookies": false, "type": "", "demo": "databases\/create-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-document.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -11162,6 +11160,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createRow" @@ -11341,7 +11340,6 @@ "cookies": false, "type": "", "demo": "databases\/upsert-documents.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-documents.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -11352,6 +11350,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-documents.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.upsertRows" @@ -11476,7 +11475,6 @@ "cookies": false, "type": "", "demo": "databases\/update-documents.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-documents.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -11487,6 +11485,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-documents.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateRows" @@ -11580,7 +11579,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-documents.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-documents.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -11591,6 +11589,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-documents.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.deleteRows" @@ -11678,7 +11677,6 @@ "cookies": false, "type": "", "demo": "databases\/get-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-document.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -11690,6 +11688,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.getRow" @@ -11781,7 +11780,6 @@ "cookies": false, "type": "", "demo": "databases\/upsert-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-document.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -11793,6 +11791,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.upsertRow" @@ -11936,7 +11935,6 @@ "cookies": false, "type": "", "demo": "databases\/update-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-document.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -11948,6 +11946,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateRow" @@ -12046,7 +12045,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-document.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -12058,6 +12056,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.deleteRow" @@ -12145,7 +12144,6 @@ "cookies": false, "type": "", "demo": "databases\/list-document-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-document-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12155,6 +12153,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-document-logs.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.listRowLogs" @@ -12238,7 +12237,6 @@ "cookies": false, "type": "", "demo": "databases\/decrement-document-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/decrement-document-attribute.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -12250,6 +12248,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/decrement-document-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.decrementRowColumn" @@ -12359,7 +12358,6 @@ "cookies": false, "type": "", "demo": "databases\/increment-document-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/increment-document-attribute.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -12371,6 +12369,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/increment-document-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.incrementRowColumn" @@ -12478,7 +12477,6 @@ "cookies": false, "type": "", "demo": "databases\/list-indexes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-indexes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12489,6 +12487,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-indexes.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.listIndexes" @@ -12572,7 +12571,6 @@ "cookies": false, "type": "", "demo": "databases\/create-index.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12583,6 +12581,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-index.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createIndex" @@ -12712,7 +12711,6 @@ "cookies": false, "type": "", "demo": "databases\/get-index.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12723,6 +12721,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-index.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.getIndex" @@ -12787,7 +12786,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-index.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12798,6 +12796,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-index.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.deleteIndex" @@ -12867,7 +12866,6 @@ "cookies": false, "type": "", "demo": "databases\/list-collection-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-collection-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12877,6 +12875,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-collection-logs.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.listTableLogs" @@ -12950,7 +12949,6 @@ "cookies": false, "type": "", "demo": "databases\/get-collection-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-collection-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12960,6 +12958,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-collection-usage.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.getTableUsage" @@ -13041,7 +13040,6 @@ "cookies": false, "type": "", "demo": "databases\/list-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13051,6 +13049,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-logs.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.listDatabaseLogs" @@ -13146,7 +13145,6 @@ "cookies": false, "type": "", "demo": "databases\/get-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-database-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13156,6 +13154,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-database-usage.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.getUsage" @@ -13259,7 +13258,6 @@ "cookies": false, "type": "", "demo": "functions\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all the project's functions. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13342,7 +13340,6 @@ "cookies": false, "type": "", "demo": "functions\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new function. You can pass a list of [permissions](https:\/\/appwrite.io\/docs\/permissions) to allow different project users or team with access to execute the function using the client API.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13656,7 +13653,6 @@ "cookies": false, "type": "", "demo": "functions\/list-runtimes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all runtimes that are currently active on your instance.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13707,7 +13703,6 @@ "cookies": false, "type": "", "demo": "functions\/list-specifications.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterList allowed function specifications for this instance.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13758,7 +13753,6 @@ "cookies": false, "type": "", "demo": "functions\/list-templates.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterList available function templates. You can use template details in [createFunction](\/docs\/references\/cloud\/server-nodejs\/functions#create) method.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13943,7 +13937,6 @@ "cookies": false, "type": "", "demo": "functions\/get-template.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a function template using ID. You can use template details in [createFunction](\/docs\/references\/cloud\/server-nodejs\/functions#create) method.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14002,7 +13995,6 @@ "cookies": false, "type": "", "demo": "functions\/list-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet usage metrics and statistics for all functions in the project. View statistics including total deployments, builds, logs, storage usage, and compute time. The response includes both current totals and historical data for each metric. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, defaults to 30 days.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14073,7 +14065,6 @@ "cookies": false, "type": "", "demo": "functions\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a function by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14134,7 +14125,6 @@ "cookies": false, "type": "", "demo": "functions\/update.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate function by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14444,7 +14434,6 @@ "cookies": false, "type": "", "demo": "functions\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a function by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14507,7 +14496,6 @@ "cookies": false, "type": "", "demo": "functions\/update-function-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate the function active deployment. Use this endpoint to switch the code deployment that should be used when visitor opens your function.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14586,7 +14574,6 @@ "cookies": false, "type": "", "demo": "functions\/list-deployments.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all the function's code deployments. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14677,7 +14664,6 @@ "cookies": false, "type": "upload", "demo": "functions\/create-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new function code deployment. Use this endpoint to upload a new version of your code function. To execute your newly uploaded code, you'll need to update the function's deployment to use your new deployment UID.\n\nThis endpoint accepts a tar.gz file compressed with your code. Make sure to include any dependencies your code has within the compressed file. You can learn more about code packaging in the [Appwrite Cloud Functions tutorial](https:\/\/appwrite.io\/docs\/functions).\n\nUse the \"command\" param to set the entrypoint used to execute your code.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14771,7 +14757,6 @@ "cookies": false, "type": "", "demo": "functions\/create-duplicate-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new build for an existing function deployment. This endpoint allows you to rebuild a deployment with the updated function configuration, including its entrypoint and build commands if they have been modified. The build process will be queued and executed asynchronously. The original deployment's code will be preserved and used for the new build.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14858,7 +14843,6 @@ "cookies": false, "type": "", "demo": "functions\/create-template-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a deployment based on a template.\n\nUse this endpoint with combination of [listTemplates](https:\/\/appwrite.io\/docs\/products\/functions\/templates) to find the template details.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14980,7 +14964,6 @@ "cookies": false, "type": "", "demo": "functions\/create-vcs-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a deployment when a function is connected to VCS.\n\nThis endpoint lets you create deployment from a branch, commit, or a tag.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15078,7 +15061,6 @@ "cookies": false, "type": "", "demo": "functions\/get-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a function deployment by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15142,7 +15124,6 @@ "cookies": false, "type": "", "demo": "functions\/delete-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a code deployment by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15211,7 +15192,6 @@ "cookies": false, "type": "location", "demo": "functions\/get-deployment-download.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a function deployment content by its unique ID. The endpoint response return with a 'Content-Disposition: attachment' header that tells the browser to start downloading the file to user downloads directory.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15298,7 +15278,6 @@ "cookies": false, "type": "", "demo": "functions\/update-deployment-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCancel an ongoing function deployment build. If the build is already in progress, it will be stopped and marked as canceled. If the build hasn't started yet, it will be marked as canceled without executing. You cannot cancel builds that have already completed (status 'ready') or failed. The response includes the final build status and details.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15367,7 +15346,6 @@ "cookies": false, "type": "", "demo": "functions\/list-executions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all the current user function execution logs. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15451,7 +15429,6 @@ "cookies": false, "type": "", "demo": "functions\/create-execution.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterTrigger a function execution. The returned object will return you the current execution status. You can ping the `Get Execution` endpoint to get updates on the current execution status. Once this endpoint is called, your function execution process will start asynchronously.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15571,7 +15548,6 @@ "cookies": false, "type": "", "demo": "functions\/get-execution.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a function execution log by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15637,7 +15613,6 @@ "cookies": false, "type": "", "demo": "functions\/delete-execution.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a function execution by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15706,7 +15681,6 @@ "cookies": false, "type": "", "demo": "functions\/get-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet usage metrics and statistics for a for a specific function. View statistics including total deployments, builds, executions, storage usage, and compute time. The response includes both current totals and historical data for each metric. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, defaults to 30 days.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15785,7 +15759,6 @@ "cookies": false, "type": "", "demo": "functions\/list-variables.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all variables of a specific function.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15846,7 +15819,6 @@ "cookies": false, "type": "", "demo": "functions\/create-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new function environment variable. These variables can be accessed in the function at runtime as environment variables.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15938,7 +15910,6 @@ "cookies": false, "type": "", "demo": "functions\/get-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a variable by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16007,7 +15978,6 @@ "cookies": false, "type": "", "demo": "functions\/update-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate variable by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16103,7 +16073,6 @@ "cookies": false, "type": "", "demo": "functions\/delete-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a variable by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16174,7 +16143,6 @@ "cookies": false, "type": "graphql", "demo": "graphql\/query.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "rate-limit": 60, "rate-time": 60, "rate-key": "url:{url},ip:{ip}", @@ -16186,6 +16154,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "auth": { "Project": [] } @@ -16249,7 +16218,6 @@ "cookies": false, "type": "graphql", "demo": "graphql\/mutation.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "rate-limit": 60, "rate-time": 60, "rate-key": "url:{url},ip:{ip}", @@ -16261,6 +16229,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "auth": { "Project": [] } @@ -16322,7 +16291,6 @@ "cookies": false, "type": "", "demo": "health\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16333,6 +16301,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get.md", "auth": { "Project": [] } @@ -16373,7 +16342,6 @@ "cookies": false, "type": "", "demo": "health\/get-antivirus.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage-anti-virus.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16384,6 +16352,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage-anti-virus.md", "auth": { "Project": [] } @@ -16424,7 +16393,6 @@ "cookies": false, "type": "", "demo": "health\/get-cache.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-cache.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16435,6 +16403,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-cache.md", "auth": { "Project": [] } @@ -16475,7 +16444,6 @@ "cookies": false, "type": "", "demo": "health\/get-certificate.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-certificate.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16486,6 +16454,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-certificate.md", "auth": { "Project": [] } @@ -16535,7 +16504,6 @@ "cookies": false, "type": "", "demo": "health\/get-db.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-db.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16546,6 +16514,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-db.md", "auth": { "Project": [] } @@ -16586,7 +16555,6 @@ "cookies": false, "type": "", "demo": "health\/get-pub-sub.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-pubsub.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16597,6 +16565,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-pubsub.md", "auth": { "Project": [] } @@ -16637,7 +16606,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-builds.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-builds.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16648,6 +16616,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-builds.md", "auth": { "Project": [] } @@ -16699,7 +16668,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-certificates.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-certificates.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16710,6 +16678,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-certificates.md", "auth": { "Project": [] } @@ -16761,7 +16730,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-databases.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-databases.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16772,6 +16740,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-databases.md", "auth": { "Project": [] } @@ -16832,7 +16801,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-deletes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-deletes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16843,6 +16811,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-deletes.md", "auth": { "Project": [] } @@ -16894,7 +16863,6 @@ "cookies": false, "type": "", "demo": "health\/get-failed-jobs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-failed-queue-jobs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16905,6 +16873,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-failed-queue-jobs.md", "auth": { "Project": [] } @@ -16980,7 +16949,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-functions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-functions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16991,6 +16959,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-functions.md", "auth": { "Project": [] } @@ -17042,7 +17011,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17053,6 +17021,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-logs.md", "auth": { "Project": [] } @@ -17104,7 +17073,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-mails.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-mails.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17115,6 +17083,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-mails.md", "auth": { "Project": [] } @@ -17166,7 +17135,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-messaging.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-messaging.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17177,6 +17145,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-messaging.md", "auth": { "Project": [] } @@ -17228,7 +17197,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-migrations.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-migrations.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17239,6 +17207,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-migrations.md", "auth": { "Project": [] } @@ -17290,7 +17259,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-stats-resources.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-stats-resources.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17301,6 +17269,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-stats-resources.md", "auth": { "Project": [] } @@ -17352,7 +17321,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-stats-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17363,6 +17331,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-stats-usage.md", "auth": { "Project": [] } @@ -17414,7 +17383,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-webhooks.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-webhooks.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17425,6 +17393,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-webhooks.md", "auth": { "Project": [] } @@ -17476,7 +17445,6 @@ "cookies": false, "type": "", "demo": "health\/get-storage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17487,6 +17455,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage.md", "auth": { "Project": [] } @@ -17527,7 +17496,6 @@ "cookies": false, "type": "", "demo": "health\/get-storage-local.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage-local.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17538,6 +17506,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage-local.md", "auth": { "Project": [] } @@ -17578,7 +17547,6 @@ "cookies": false, "type": "", "demo": "health\/get-time.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-time.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17589,6 +17557,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-time.md", "auth": { "Project": [] } @@ -17629,7 +17598,6 @@ "cookies": false, "type": "", "demo": "locale\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/get-locale.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17641,6 +17609,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/get-locale.md", "auth": { "Project": [] } @@ -17682,7 +17651,6 @@ "cookies": false, "type": "", "demo": "locale\/list-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-locale-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17694,6 +17662,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-locale-codes.md", "auth": { "Project": [] } @@ -17735,7 +17704,6 @@ "cookies": false, "type": "", "demo": "locale\/list-continents.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-continents.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17747,6 +17715,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-continents.md", "auth": { "Project": [] } @@ -17788,7 +17757,6 @@ "cookies": false, "type": "", "demo": "locale\/list-countries.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17800,6 +17768,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries.md", "auth": { "Project": [] } @@ -17841,7 +17810,6 @@ "cookies": false, "type": "", "demo": "locale\/list-countries-eu.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-eu.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17853,6 +17821,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-eu.md", "auth": { "Project": [] } @@ -17894,7 +17863,6 @@ "cookies": false, "type": "", "demo": "locale\/list-countries-phones.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-phones.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17906,6 +17874,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-phones.md", "auth": { "Project": [] } @@ -17947,7 +17916,6 @@ "cookies": false, "type": "", "demo": "locale\/list-currencies.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-currencies.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17959,6 +17927,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-currencies.md", "auth": { "Project": [] } @@ -18000,7 +17969,6 @@ "cookies": false, "type": "", "demo": "locale\/list-languages.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-languages.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18012,6 +17980,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-languages.md", "auth": { "Project": [] } @@ -18053,7 +18022,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-messages.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-messages.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18064,6 +18032,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-messages.md", "auth": { "Project": [] } @@ -18138,7 +18107,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-email.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-email.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18149,6 +18117,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-email.md", "auth": { "Project": [] } @@ -18298,7 +18267,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-email.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-email.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18309,6 +18277,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-email.md", "auth": { "Project": [] } @@ -18465,7 +18434,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-push.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-push.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18476,6 +18444,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-push.md", "auth": { "Project": [] } @@ -18663,7 +18632,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-push.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-push.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18674,6 +18642,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-push.md", "auth": { "Project": [] } @@ -18876,7 +18845,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-sms.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-sms.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18887,6 +18855,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-sms.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.createSMS" @@ -19066,7 +19035,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-sms.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-sms.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19077,6 +19045,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-sms.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.updateSMS" @@ -19255,7 +19224,6 @@ "cookies": false, "type": "", "demo": "messaging\/get-message.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-message.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19266,6 +19234,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-message.md", "auth": { "Project": [] } @@ -19311,7 +19280,6 @@ "cookies": false, "type": "", "demo": "messaging\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-message.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19322,6 +19290,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-message.md", "auth": { "Project": [] } @@ -19372,7 +19341,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-message-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-message-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19383,6 +19351,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-message-logs.md", "auth": { "Project": [] } @@ -19454,7 +19423,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-targets.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-message-targets.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19465,6 +19433,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-message-targets.md", "auth": { "Project": [] } @@ -19536,7 +19505,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-providers.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-providers.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19547,6 +19515,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-providers.md", "auth": { "Project": [] } @@ -19621,7 +19590,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-apns-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-apns-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19632,6 +19600,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-apns-provider.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.createAPNSProvider" @@ -19810,7 +19779,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-apns-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-apns-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19821,6 +19789,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-apns-provider.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.updateAPNSProvider" @@ -19996,7 +19965,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-fcm-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-fcm-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20007,6 +19975,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-fcm-provider.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.createFCMProvider" @@ -20154,7 +20123,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-fcm-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-fcm-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20165,6 +20133,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-fcm-provider.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.updateFCMProvider" @@ -20308,7 +20277,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-mailgun-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-mailgun-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20319,6 +20287,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-mailgun-provider.md", "auth": { "Project": [] } @@ -20438,7 +20407,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-mailgun-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-mailgun-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20449,6 +20417,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-mailgun-provider.md", "auth": { "Project": [] } @@ -20566,7 +20535,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-msg-91-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-msg91-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20577,6 +20545,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-msg91-provider.md", "auth": { "Project": [] } @@ -20671,7 +20640,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-msg-91-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-msg91-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20682,6 +20650,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-msg91-provider.md", "auth": { "Project": [] } @@ -20774,7 +20743,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-resend-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-resend-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20785,6 +20753,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-resend-provider.md", "auth": { "Project": [] } @@ -20891,7 +20860,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-resend-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-resend-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20902,6 +20870,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-resend-provider.md", "auth": { "Project": [] } @@ -21006,7 +20975,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-sendgrid-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-sendgrid-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21017,6 +20985,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-sendgrid-provider.md", "auth": { "Project": [] } @@ -21123,7 +21092,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-sendgrid-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-sendgrid-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21134,6 +21102,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-sendgrid-provider.md", "auth": { "Project": [] } @@ -21238,7 +21207,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-smtp-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-smtp-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21249,6 +21217,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-smtp-provider.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.createSMTPProvider" @@ -21485,7 +21454,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-smtp-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-smtp-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21496,6 +21464,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-smtp-provider.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.updateSMTPProvider" @@ -21727,7 +21696,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-telesign-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-telesign-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21738,6 +21706,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-telesign-provider.md", "auth": { "Project": [] } @@ -21832,7 +21801,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-telesign-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-telesign-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21843,6 +21811,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-telesign-provider.md", "auth": { "Project": [] } @@ -21935,7 +21904,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-textmagic-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-textmagic-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21946,6 +21914,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-textmagic-provider.md", "auth": { "Project": [] } @@ -22040,7 +22009,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-textmagic-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-textmagic-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22051,6 +22019,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-textmagic-provider.md", "auth": { "Project": [] } @@ -22143,7 +22112,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-twilio-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-twilio-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22154,6 +22122,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-twilio-provider.md", "auth": { "Project": [] } @@ -22248,7 +22217,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-twilio-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-twilio-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22259,6 +22227,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-twilio-provider.md", "auth": { "Project": [] } @@ -22351,7 +22320,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-vonage-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-vonage-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22362,6 +22330,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-vonage-provider.md", "auth": { "Project": [] } @@ -22456,7 +22425,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-vonage-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-vonage-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22467,6 +22435,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-vonage-provider.md", "auth": { "Project": [] } @@ -22557,7 +22526,6 @@ "cookies": false, "type": "", "demo": "messaging\/get-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22568,6 +22536,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-provider.md", "auth": { "Project": [] } @@ -22613,7 +22582,6 @@ "cookies": false, "type": "", "demo": "messaging\/delete-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22624,6 +22592,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-provider.md", "auth": { "Project": [] } @@ -22674,7 +22643,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-provider-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-provider-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22685,6 +22653,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-provider-logs.md", "auth": { "Project": [] } @@ -22756,7 +22725,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-subscriber-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-subscriber-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22767,6 +22735,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-subscriber-logs.md", "auth": { "Project": [] } @@ -22838,7 +22807,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-topics.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-topics.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22849,6 +22817,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-topics.md", "auth": { "Project": [] } @@ -22921,7 +22890,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-topic.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-topic.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22932,6 +22900,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-topic.md", "auth": { "Project": [] } @@ -23010,7 +22979,6 @@ "cookies": false, "type": "", "demo": "messaging\/get-topic.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-topic.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23021,6 +22989,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-topic.md", "auth": { "Project": [] } @@ -23071,7 +23040,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-topic.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-topic.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23082,6 +23050,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-topic.md", "auth": { "Project": [] } @@ -23153,7 +23122,6 @@ "cookies": false, "type": "", "demo": "messaging\/delete-topic.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-topic.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23164,6 +23132,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-topic.md", "auth": { "Project": [] } @@ -23214,7 +23183,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-topic-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-topic-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23225,6 +23193,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-topic-logs.md", "auth": { "Project": [] } @@ -23296,7 +23265,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-subscribers.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-subscribers.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23307,6 +23275,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-subscribers.md", "auth": { "Project": [] } @@ -23387,7 +23356,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-subscriber.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-subscriber.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23399,6 +23367,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-subscriber.md", "auth": { "Project": [] } @@ -23475,7 +23444,6 @@ "cookies": false, "type": "", "demo": "messaging\/get-subscriber.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-subscriber.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23486,6 +23454,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-subscriber.md", "auth": { "Project": [] } @@ -23539,7 +23508,6 @@ "cookies": false, "type": "", "demo": "messaging\/delete-subscriber.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-subscriber.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23551,6 +23519,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-subscriber.md", "auth": { "Project": [] } @@ -23610,7 +23579,6 @@ "cookies": false, "type": "", "demo": "migrations\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/list-migrations.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23620,6 +23588,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/list-migrations.md", "auth": { "Project": [] } @@ -23693,7 +23662,6 @@ "cookies": false, "type": "", "demo": "migrations\/create-appwrite-migration.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-appwrite.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23703,6 +23671,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-appwrite.md", "auth": { "Project": [] } @@ -23806,7 +23775,6 @@ "cookies": false, "type": "", "demo": "migrations\/get-appwrite-report.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-appwrite-report.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23816,6 +23784,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-appwrite-report.md", "auth": { "Project": [] } @@ -23915,7 +23884,6 @@ "cookies": false, "type": "", "demo": "migrations\/create-csv-export.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-csv-export.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23925,6 +23893,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-csv-export.md", "auth": { "Project": [] } @@ -24041,7 +24010,6 @@ "cookies": false, "type": "", "demo": "migrations\/create-csv-import.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-csv-import.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24051,6 +24019,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-csv-import.md", "auth": { "Project": [] } @@ -24132,7 +24101,6 @@ "cookies": false, "type": "", "demo": "migrations\/create-firebase-migration.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-firebase.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24142,6 +24110,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-firebase.md", "auth": { "Project": [] } @@ -24225,7 +24194,6 @@ "cookies": false, "type": "", "demo": "migrations\/get-firebase-report.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-firebase-report.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24235,6 +24203,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-firebase-report.md", "auth": { "Project": [] } @@ -24311,7 +24280,6 @@ "cookies": false, "type": "", "demo": "migrations\/create-n-host-migration.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-nhost.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24321,6 +24289,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-nhost.md", "auth": { "Project": [] } @@ -24446,7 +24415,6 @@ "cookies": false, "type": "", "demo": "migrations\/get-n-host-report.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-nhost-report.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24456,6 +24424,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-nhost-report.md", "auth": { "Project": [] } @@ -24582,7 +24551,6 @@ "cookies": false, "type": "", "demo": "migrations\/create-supabase-migration.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-supabase.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24592,6 +24560,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-supabase.md", "auth": { "Project": [] } @@ -24710,7 +24679,6 @@ "cookies": false, "type": "", "demo": "migrations\/get-supabase-report.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-supabase-report.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24720,6 +24688,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-supabase-report.md", "auth": { "Project": [] } @@ -24837,7 +24806,6 @@ "cookies": false, "type": "", "demo": "migrations\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/get-migration.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24847,6 +24815,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/get-migration.md", "auth": { "Project": [] } @@ -24896,7 +24865,6 @@ "cookies": false, "type": "", "demo": "migrations\/retry.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/retry-migration.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24906,6 +24874,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/retry-migration.md", "auth": { "Project": [] } @@ -24950,7 +24919,6 @@ "cookies": false, "type": "", "demo": "migrations\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/delete-migration.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24960,6 +24928,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/delete-migration.md", "auth": { "Project": [] } @@ -25009,7 +24978,6 @@ "cookies": false, "type": "", "demo": "project\/get-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/project\/get-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25019,6 +24987,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/project\/get-usage.md", "auth": { "Project": [] } @@ -25092,7 +25061,6 @@ "cookies": false, "type": "", "demo": "project\/list-variables.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/project\/list-variables.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25102,6 +25070,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/project\/list-variables.md", "auth": { "Project": [] } @@ -25141,7 +25110,6 @@ "cookies": false, "type": "", "demo": "project\/create-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/project\/create-variable.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25151,6 +25119,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/project\/create-variable.md", "auth": { "Project": [] } @@ -25223,7 +25192,6 @@ "cookies": false, "type": "", "demo": "project\/get-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/project\/get-variable.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25233,6 +25201,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/project\/get-variable.md", "auth": { "Project": [] } @@ -25282,7 +25251,6 @@ "cookies": false, "type": "", "demo": "project\/update-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/project\/update-variable.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25292,6 +25260,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/project\/update-variable.md", "auth": { "Project": [] } @@ -25368,7 +25337,6 @@ "cookies": false, "type": "", "demo": "project\/delete-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/project\/delete-variable.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25378,6 +25346,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/project\/delete-variable.md", "auth": { "Project": [] } @@ -25427,7 +25396,6 @@ "cookies": false, "type": "", "demo": "projects\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all projects. You can use the query params to filter your results. ", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25508,7 +25476,6 @@ "cookies": false, "type": "", "demo": "projects\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25518,6 +25485,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create.md", "auth": { "Project": [] } @@ -25656,7 +25624,6 @@ "cookies": false, "type": "", "demo": "projects\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25666,6 +25633,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get.md", "auth": { "Project": [] } @@ -25715,7 +25683,6 @@ "cookies": false, "type": "", "demo": "projects\/update.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25725,6 +25692,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update.md", "auth": { "Project": [] } @@ -25841,7 +25809,6 @@ "cookies": false, "type": "", "demo": "projects\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/delete.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25851,6 +25818,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/delete.md", "auth": { "Project": [] } @@ -25902,7 +25870,6 @@ "cookies": false, "type": "", "demo": "projects\/update-api-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-api-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25912,6 +25879,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-api-status.md", "deprecated": { "since": "1.8.0", "replaceWith": "projects.updateAPIStatus" @@ -26059,7 +26027,6 @@ "cookies": false, "type": "", "demo": "projects\/update-api-status-all.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-api-status-all.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26069,6 +26036,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-api-status-all.md", "deprecated": { "since": "1.8.0", "replaceWith": "projects.updateAPIStatusAll" @@ -26198,7 +26166,6 @@ "cookies": false, "type": "", "demo": "projects\/update-auth-duration.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-auth-duration.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26208,6 +26175,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-auth-duration.md", "auth": { "Project": [] } @@ -26277,7 +26245,6 @@ "cookies": false, "type": "", "demo": "projects\/update-auth-limit.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-auth-limit.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26287,6 +26254,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-auth-limit.md", "auth": { "Project": [] } @@ -26356,7 +26324,6 @@ "cookies": false, "type": "", "demo": "projects\/update-auth-sessions-limit.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-auth-sessions-limit.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26366,6 +26333,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-auth-sessions-limit.md", "auth": { "Project": [] } @@ -26435,7 +26403,6 @@ "cookies": false, "type": "", "demo": "projects\/update-memberships-privacy.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-memberships-privacy.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26445,6 +26412,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-memberships-privacy.md", "auth": { "Project": [] } @@ -26528,7 +26496,6 @@ "cookies": false, "type": "", "demo": "projects\/update-mock-numbers.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-mock-numbers.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26538,6 +26505,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-mock-numbers.md", "auth": { "Project": [] } @@ -26610,7 +26578,6 @@ "cookies": false, "type": "", "demo": "projects\/update-auth-password-dictionary.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-auth-password-dictionary.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26620,6 +26587,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-auth-password-dictionary.md", "auth": { "Project": [] } @@ -26689,7 +26657,6 @@ "cookies": false, "type": "", "demo": "projects\/update-auth-password-history.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-auth-password-history.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26699,6 +26666,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-auth-password-history.md", "auth": { "Project": [] } @@ -26768,7 +26736,6 @@ "cookies": false, "type": "", "demo": "projects\/update-personal-data-check.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-personal-data-check.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26778,6 +26745,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-personal-data-check.md", "auth": { "Project": [] } @@ -26847,7 +26815,6 @@ "cookies": false, "type": "", "demo": "projects\/update-session-alerts.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-session-alerts.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26857,6 +26824,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-session-alerts.md", "auth": { "Project": [] } @@ -26926,7 +26894,6 @@ "cookies": false, "type": "", "demo": "projects\/update-session-invalidation.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-session-invalidation.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26936,6 +26903,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-session-invalidation.md", "auth": { "Project": [] } @@ -27005,7 +26973,6 @@ "cookies": false, "type": "", "demo": "projects\/update-auth-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-auth-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27015,6 +26982,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-auth-status.md", "auth": { "Project": [] } @@ -27101,7 +27069,6 @@ "cookies": false, "type": "", "demo": "projects\/list-dev-keys.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterList all the project\\'s dev keys. Dev keys are project specific and allow you to bypass rate limits and get better error logging during development.'", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27172,7 +27139,6 @@ "cookies": false, "type": "", "demo": "projects\/create-dev-key.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new project dev key. Dev keys are project specific and allow you to bypass rate limits and get better error logging during development. Strictly meant for development purposes only.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27256,7 +27222,6 @@ "cookies": false, "type": "", "demo": "projects\/get-dev-key.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a project\\'s dev key by its unique ID. Dev keys are project specific and allow you to bypass rate limits and get better error logging during development.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27323,7 +27288,6 @@ "cookies": false, "type": "", "demo": "projects\/update-dev-key.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate a project\\'s dev key by its unique ID. Use this endpoint to update a project\\'s dev key name or expiration time.'", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27410,7 +27374,6 @@ "cookies": false, "type": "", "demo": "projects\/delete-dev-key.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a project\\'s dev key by its unique ID. Once deleted, the key will no longer allow bypassing of rate limits and better logging of errors.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27479,7 +27442,6 @@ "cookies": false, "type": "", "demo": "projects\/create-jwt.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create-jwt.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27489,6 +27451,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create-jwt.md", "auth": { "Project": [] } @@ -27624,7 +27587,6 @@ "cookies": false, "type": "", "demo": "projects\/list-keys.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/list-keys.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27634,6 +27596,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/list-keys.md", "auth": { "Project": [] } @@ -27692,7 +27655,6 @@ "cookies": false, "type": "", "demo": "projects\/create-key.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create-key.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27702,6 +27664,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create-key.md", "auth": { "Project": [] } @@ -27846,7 +27809,6 @@ "cookies": false, "type": "", "demo": "projects\/get-key.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get-key.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27856,6 +27818,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get-key.md", "auth": { "Project": [] } @@ -27913,7 +27876,6 @@ "cookies": false, "type": "", "demo": "projects\/update-key.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-key.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27923,6 +27885,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-key.md", "auth": { "Project": [] } @@ -28070,7 +28033,6 @@ "cookies": false, "type": "", "demo": "projects\/delete-key.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/delete-key.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28080,6 +28042,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/delete-key.md", "auth": { "Project": [] } @@ -28139,7 +28102,6 @@ "cookies": false, "type": "", "demo": "projects\/update-o-auth-2.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-oauth2.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28149,6 +28111,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-oauth2.md", "auth": { "Project": [] } @@ -28281,7 +28244,6 @@ "cookies": false, "type": "", "demo": "projects\/list-platforms.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/list-platforms.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28291,6 +28253,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/list-platforms.md", "auth": { "Project": [] } @@ -28349,7 +28312,6 @@ "cookies": false, "type": "", "demo": "projects\/create-platform.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create-platform.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28359,6 +28321,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create-platform.md", "auth": { "Project": [] } @@ -28470,7 +28433,6 @@ "cookies": false, "type": "", "demo": "projects\/get-platform.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get-platform.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28480,6 +28442,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get-platform.md", "auth": { "Project": [] } @@ -28537,7 +28500,6 @@ "cookies": false, "type": "", "demo": "projects\/update-platform.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-platform.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28547,6 +28509,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-platform.md", "auth": { "Project": [] } @@ -28635,7 +28598,6 @@ "cookies": false, "type": "", "demo": "projects\/delete-platform.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/delete-platform.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28645,6 +28607,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/delete-platform.md", "auth": { "Project": [] } @@ -28704,7 +28667,6 @@ "cookies": false, "type": "", "demo": "projects\/update-service-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-service-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28714,6 +28676,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-service-status.md", "auth": { "Project": [] } @@ -28807,7 +28770,6 @@ "cookies": false, "type": "", "demo": "projects\/update-service-status-all.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-service-status-all.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28817,6 +28779,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-service-status-all.md", "auth": { "Project": [] } @@ -28886,7 +28849,6 @@ "cookies": false, "type": "", "demo": "projects\/update-smtp.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-smtp.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28896,6 +28858,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-smtp.md", "deprecated": { "since": "1.8.0", "replaceWith": "projects.updateSMTP" @@ -29092,7 +29055,6 @@ "cookies": false, "type": "", "demo": "projects\/create-smtp-test.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create-smtp-test.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -29102,6 +29064,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create-smtp-test.md", "deprecated": { "since": "1.8.0", "replaceWith": "projects.createSMTPTest" @@ -29311,7 +29274,6 @@ "cookies": false, "type": "", "demo": "projects\/update-team.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-team.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -29321,6 +29283,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-team.md", "auth": { "Project": [] } @@ -29388,7 +29351,6 @@ "cookies": false, "type": "", "demo": "projects\/get-email-template.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get-email-template.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -29398,6 +29360,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get-email-template.md", "auth": { "Project": [] } @@ -29609,7 +29572,6 @@ "cookies": false, "type": "", "demo": "projects\/update-email-template.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-email-template.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -29619,6 +29581,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-email-template.md", "auth": { "Project": [] } @@ -29873,7 +29836,6 @@ "cookies": false, "type": "", "demo": "projects\/delete-email-template.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/delete-email-template.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -29883,6 +29845,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/delete-email-template.md", "auth": { "Project": [] } @@ -30094,7 +30057,6 @@ "cookies": false, "type": "", "demo": "projects\/get-sms-template.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get-sms-template.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30104,6 +30066,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get-sms-template.md", "deprecated": { "since": "1.8.0", "replaceWith": "projects.getSMSTemplate" @@ -30376,7 +30339,6 @@ "cookies": false, "type": "", "demo": "projects\/update-sms-template.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-sms-template.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30386,6 +30348,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-sms-template.md", "deprecated": { "since": "1.8.0", "replaceWith": "projects.updateSMSTemplate" @@ -30680,7 +30643,6 @@ "cookies": false, "type": "", "demo": "projects\/delete-sms-template.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/delete-sms-template.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30690,6 +30652,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/delete-sms-template.md", "deprecated": { "since": "1.8.0", "replaceWith": "projects.deleteSMSTemplate" @@ -30962,7 +30925,6 @@ "cookies": false, "type": "", "demo": "projects\/list-webhooks.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/list-webhooks.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30972,6 +30934,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/list-webhooks.md", "auth": { "Project": [] } @@ -31030,7 +30993,6 @@ "cookies": false, "type": "", "demo": "projects\/create-webhook.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create-webhook.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -31040,6 +31002,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create-webhook.md", "auth": { "Project": [] } @@ -31149,7 +31112,6 @@ "cookies": false, "type": "", "demo": "projects\/get-webhook.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get-webhook.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -31159,6 +31121,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get-webhook.md", "auth": { "Project": [] } @@ -31216,7 +31179,6 @@ "cookies": false, "type": "", "demo": "projects\/update-webhook.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-webhook.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -31226,6 +31188,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-webhook.md", "auth": { "Project": [] } @@ -31338,7 +31301,6 @@ "cookies": false, "type": "", "demo": "projects\/delete-webhook.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/delete-webhook.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -31348,6 +31310,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/delete-webhook.md", "auth": { "Project": [] } @@ -31407,7 +31370,6 @@ "cookies": false, "type": "", "demo": "projects\/update-webhook-signature.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-webhook-signature.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -31417,6 +31379,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-webhook-signature.md", "auth": { "Project": [] } @@ -31474,7 +31437,6 @@ "cookies": false, "type": "", "demo": "proxy\/list-rules.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all the proxy rules. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -31557,7 +31519,6 @@ "cookies": false, "type": "", "demo": "proxy\/create-api-rule.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new proxy rule for serving Appwrite's API on custom domain.", "rate-limit": 10, "rate-time": 60, "rate-key": "userId:{userId}, url:{url}", @@ -31628,7 +31589,6 @@ "cookies": false, "type": "", "demo": "proxy\/create-function-rule.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new proxy rule for executing Appwrite Function on custom domain.", "rate-limit": 10, "rate-time": 60, "rate-key": "userId:{userId}, url:{url}", @@ -31712,7 +31672,6 @@ "cookies": false, "type": "", "demo": "proxy\/create-redirect-rule.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new proxy rule for to redirect from custom domain to another domain.", "rate-limit": 10, "rate-time": 60, "rate-key": "userId:{userId}, url:{url}", @@ -31833,7 +31792,6 @@ "cookies": false, "type": "", "demo": "proxy\/create-site-rule.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new proxy rule for serving Appwrite Site on custom domain.", "rate-limit": 10, "rate-time": 60, "rate-key": "userId:{userId}, url:{url}", @@ -31915,7 +31873,6 @@ "cookies": false, "type": "", "demo": "proxy\/get-rule.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a proxy rule by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -31969,7 +31926,6 @@ "cookies": false, "type": "", "demo": "proxy\/delete-rule.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a proxy rule by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32030,7 +31986,6 @@ "cookies": false, "type": "", "demo": "proxy\/update-rule-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterRetry getting verification process of a proxy rule. This endpoint triggers domain verification by checking DNS records (CNAME) against the configured target domain. If verification is successful, a TLS certificate will be automatically provisioned for the domain.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32089,7 +32044,6 @@ "cookies": false, "type": "", "demo": "sites\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all the project's sites. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32172,7 +32126,6 @@ "cookies": false, "type": "", "demo": "sites\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new site.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32444,7 +32397,6 @@ "cookies": false, "type": "", "demo": "sites\/list-frameworks.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all frameworks that are currently available on the server instance.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32495,7 +32447,6 @@ "cookies": false, "type": "", "demo": "sites\/list-specifications.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterList allowed site specifications for this instance.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32546,7 +32497,6 @@ "cookies": false, "type": "", "demo": "sites\/list-templates.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterList available site templates. You can use template details in [createSite](\/docs\/references\/cloud\/server-nodejs\/sites#create) method.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32670,7 +32620,6 @@ "cookies": false, "type": "", "demo": "sites\/get-template.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a site template using ID. You can use template details in [createSite](\/docs\/references\/cloud\/server-nodejs\/sites#create) method.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32729,7 +32678,6 @@ "cookies": false, "type": "", "demo": "sites\/list-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet usage metrics and statistics for all sites in the project. View statistics including total deployments, builds, logs, storage usage, and compute time. The response includes both current totals and historical data for each metric. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, defaults to 30 days.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32800,7 +32748,6 @@ "cookies": false, "type": "", "demo": "sites\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a site by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32861,7 +32808,6 @@ "cookies": false, "type": "", "demo": "sites\/update.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate site by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33128,7 +33074,6 @@ "cookies": false, "type": "", "demo": "sites\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a site by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33191,7 +33136,6 @@ "cookies": false, "type": "", "demo": "sites\/update-site-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate the site active deployment. Use this endpoint to switch the code deployment that should be used when visitor opens your site.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33270,7 +33214,6 @@ "cookies": false, "type": "", "demo": "sites\/list-deployments.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all the site's code deployments. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33361,7 +33304,6 @@ "cookies": false, "type": "upload", "demo": "sites\/create-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new site code deployment. Use this endpoint to upload a new version of your site code. To activate your newly uploaded code, you'll need to update the site's deployment to use your new deployment ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33463,7 +33405,6 @@ "cookies": false, "type": "", "demo": "sites\/create-duplicate-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new build for an existing site deployment. This endpoint allows you to rebuild a deployment with the updated site configuration, including its commands and output directory if they have been modified. The build process will be queued and executed asynchronously. The original deployment's code will be preserved and used for the new build.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33544,7 +33485,6 @@ "cookies": false, "type": "", "demo": "sites\/create-template-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a deployment based on a template.\n\nUse this endpoint with combination of [listTemplates](https:\/\/appwrite.io\/docs\/products\/sites\/templates) to find the template details.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33666,7 +33606,6 @@ "cookies": false, "type": "", "demo": "sites\/create-vcs-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a deployment when a site is connected to VCS.\n\nThis endpoint lets you create deployment from a branch, commit, or a tag.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33765,7 +33704,6 @@ "cookies": false, "type": "", "demo": "sites\/get-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a site deployment by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33829,7 +33767,6 @@ "cookies": false, "type": "", "demo": "sites\/delete-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a site deployment by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33898,7 +33835,6 @@ "cookies": false, "type": "location", "demo": "sites\/get-deployment-download.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a site deployment content by its unique ID. The endpoint response return with a 'Content-Disposition: attachment' header that tells the browser to start downloading the file to user downloads directory.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33985,7 +33921,6 @@ "cookies": false, "type": "", "demo": "sites\/update-deployment-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCancel an ongoing site deployment build. If the build is already in progress, it will be stopped and marked as canceled. If the build hasn't started yet, it will be marked as canceled without executing. You cannot cancel builds that have already completed (status 'ready') or failed. The response includes the final build status and details.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34054,7 +33989,6 @@ "cookies": false, "type": "", "demo": "sites\/list-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all site logs. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34136,7 +34070,6 @@ "cookies": false, "type": "", "demo": "sites\/get-log.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a site request log by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34202,7 +34135,6 @@ "cookies": false, "type": "", "demo": "sites\/delete-log.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a site log by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34271,7 +34203,6 @@ "cookies": false, "type": "", "demo": "sites\/get-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet usage metrics and statistics for a for a specific site. View statistics including total deployments, builds, executions, storage usage, and compute time. The response includes both current totals and historical data for each metric. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, defaults to 30 days.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34350,7 +34281,6 @@ "cookies": false, "type": "", "demo": "sites\/list-variables.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all variables of a specific site.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34411,7 +34341,6 @@ "cookies": false, "type": "", "demo": "sites\/create-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new site variable. These variables can be accessed during build and runtime (server-side rendering) as environment variables.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34503,7 +34432,6 @@ "cookies": false, "type": "", "demo": "sites\/get-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a variable by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34572,7 +34500,6 @@ "cookies": false, "type": "", "demo": "sites\/update-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate variable by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34668,7 +34595,6 @@ "cookies": false, "type": "", "demo": "sites\/delete-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a variable by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34737,7 +34663,6 @@ "cookies": false, "type": "", "demo": "storage\/list-buckets.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-buckets.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34748,6 +34673,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-buckets.md", "auth": { "Project": [] } @@ -34820,7 +34746,6 @@ "cookies": false, "type": "", "demo": "storage\/create-bucket.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-bucket.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34831,6 +34756,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-bucket.md", "auth": { "Project": [] } @@ -34966,7 +34892,6 @@ "cookies": false, "type": "", "demo": "storage\/get-bucket.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-bucket.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34977,6 +34902,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-bucket.md", "auth": { "Project": [] } @@ -35027,7 +34953,6 @@ "cookies": false, "type": "", "demo": "storage\/update-bucket.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/update-bucket.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35038,6 +34963,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/update-bucket.md", "auth": { "Project": [] } @@ -35169,7 +35095,6 @@ "cookies": false, "type": "", "demo": "storage\/delete-bucket.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/delete-bucket.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35180,6 +35105,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/delete-bucket.md", "auth": { "Project": [] } @@ -35230,7 +35156,6 @@ "cookies": false, "type": "", "demo": "storage\/list-files.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-files.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35242,6 +35167,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-files.md", "auth": { "Project": [] } @@ -35323,7 +35249,6 @@ "cookies": false, "type": "upload", "demo": "storage\/create-file.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-file.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId},chunkId:{chunkId}", @@ -35335,6 +35260,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-file.md", "auth": { "Project": [] } @@ -35414,7 +35340,6 @@ "cookies": false, "type": "", "demo": "storage\/get-file.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35426,6 +35351,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file.md", "auth": { "Project": [] } @@ -35485,7 +35411,6 @@ "cookies": false, "type": "", "demo": "storage\/update-file.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/update-file.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -35497,6 +35422,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/update-file.md", "auth": { "Project": [] } @@ -35577,7 +35503,6 @@ "cookies": false, "type": "", "demo": "storage\/delete-file.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/delete-file.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -35589,6 +35514,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/delete-file.md", "auth": { "Project": [] } @@ -35648,7 +35574,6 @@ "cookies": false, "type": "location", "demo": "storage\/get-file-download.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-download.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35660,6 +35585,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-download.md", "auth": { "Project": [] } @@ -35728,7 +35654,6 @@ "cookies": false, "type": "location", "demo": "storage\/get-file-preview.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-preview.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35740,6 +35665,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-preview.md", "auth": { "Project": [] } @@ -35936,7 +35862,6 @@ "cookies": false, "type": "location", "demo": "storage\/get-file-view.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-view.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35948,6 +35873,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-view.md", "auth": { "Project": [] } @@ -36016,7 +35942,6 @@ "cookies": false, "type": "", "demo": "storage\/get-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36026,6 +35951,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-usage.md", "auth": { "Project": [] } @@ -36087,7 +36013,6 @@ "cookies": false, "type": "", "demo": "storage\/get-bucket-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-bucket-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36097,6 +36022,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-bucket-usage.md", "auth": { "Project": [] } @@ -36166,7 +36092,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36177,6 +36102,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list.md", "auth": { "Project": [] } @@ -36249,7 +36175,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36260,6 +36185,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create.md", "auth": { "Project": [] } @@ -36333,7 +36259,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-transactions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-transactions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36348,6 +36273,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-transactions.md", "auth": { "Project": [] } @@ -36403,7 +36329,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36418,6 +36343,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-transaction.md", "auth": { "Project": [] } @@ -36476,7 +36402,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36491,6 +36416,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-transaction.md", "auth": { "Project": [] } @@ -36542,7 +36468,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36557,6 +36482,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-transaction.md", "auth": { "Project": [] } @@ -36624,7 +36550,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36639,6 +36564,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-transaction.md", "auth": { "Project": [] } @@ -36692,7 +36618,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-operations.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-operations.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36707,6 +36632,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-operations.md", "auth": { "Project": [] } @@ -36776,7 +36702,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36789,6 +36714,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-usage.md", "methods": [ { "name": "listUsage", @@ -36873,7 +36799,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36884,6 +36809,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get.md", "auth": { "Project": [] } @@ -36934,7 +36860,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36945,6 +36870,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update.md", "auth": { "Project": [] } @@ -37014,7 +36940,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37025,6 +36950,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete.md", "auth": { "Project": [] } @@ -37075,7 +37001,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-tables.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-tables.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37089,6 +37014,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-tables.md", "auth": { "Project": [] } @@ -37169,7 +37095,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-table.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-table.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37183,6 +37108,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-table.md", "auth": { "Project": [] } @@ -37298,7 +37224,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-table.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-table.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37312,6 +37237,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-table.md", "auth": { "Project": [] } @@ -37370,7 +37296,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-table.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-table.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37384,6 +37309,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-table.md", "auth": { "Project": [] } @@ -37477,7 +37403,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-table.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-table.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37491,6 +37416,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-table.md", "auth": { "Project": [] } @@ -37549,7 +37475,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-columns.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-columns.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37563,6 +37488,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-columns.md", "auth": { "Project": [] } @@ -37644,7 +37570,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-boolean-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-boolean-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37658,6 +37583,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-boolean-column.md", "auth": { "Project": [] } @@ -37756,7 +37682,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-boolean-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-boolean-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37770,6 +37695,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-boolean-column.md", "auth": { "Project": [] } @@ -37870,7 +37796,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-datetime-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-datetime-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37884,6 +37809,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-datetime-column.md", "auth": { "Project": [] } @@ -37982,7 +37908,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-datetime-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-datetime-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37996,6 +37921,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-datetime-column.md", "auth": { "Project": [] } @@ -38096,7 +38022,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-email-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-email-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -38110,6 +38035,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-email-column.md", "auth": { "Project": [] } @@ -38208,7 +38134,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-email-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-email-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -38222,6 +38147,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-email-column.md", "auth": { "Project": [] } @@ -38322,7 +38248,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-enum-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-enum-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -38336,6 +38261,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-enum-column.md", "auth": { "Project": [] } @@ -38444,7 +38370,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-enum-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-enum-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -38458,6 +38383,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-enum-column.md", "auth": { "Project": [] } @@ -38568,7 +38494,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-float-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-float-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -38582,6 +38507,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-float-column.md", "auth": { "Project": [] } @@ -38694,7 +38620,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-float-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-float-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -38708,6 +38633,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-float-column.md", "auth": { "Project": [] } @@ -38822,7 +38748,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-integer-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-integer-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -38836,6 +38761,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-integer-column.md", "auth": { "Project": [] } @@ -38948,7 +38874,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-integer-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-integer-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -38962,6 +38887,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-integer-column.md", "auth": { "Project": [] } @@ -39076,7 +39002,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-ip-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-ip-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -39090,6 +39015,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-ip-column.md", "auth": { "Project": [] } @@ -39188,7 +39114,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-ip-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-ip-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -39202,6 +39127,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-ip-column.md", "auth": { "Project": [] } @@ -39302,7 +39228,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-line-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-line-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -39316,6 +39241,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-line-column.md", "auth": { "Project": [] } @@ -39408,7 +39334,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-line-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-line-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -39422,6 +39347,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-line-column.md", "auth": { "Project": [] } @@ -39521,7 +39447,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-point-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-point-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -39535,6 +39460,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-point-column.md", "auth": { "Project": [] } @@ -39627,7 +39553,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-point-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-point-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -39641,6 +39566,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-point-column.md", "auth": { "Project": [] } @@ -39740,7 +39666,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-polygon-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-polygon-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -39754,6 +39679,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-polygon-column.md", "auth": { "Project": [] } @@ -39846,7 +39772,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-polygon-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-polygon-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -39860,6 +39785,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-polygon-column.md", "auth": { "Project": [] } @@ -39959,7 +39885,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-relationship-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-relationship-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -39973,6 +39898,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-relationship-column.md", "auth": { "Project": [] } @@ -40099,7 +40025,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-string-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-string-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -40113,6 +40038,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-string-column.md", "auth": { "Project": [] } @@ -40224,7 +40150,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-string-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-string-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -40238,6 +40163,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-string-column.md", "auth": { "Project": [] } @@ -40345,7 +40271,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-url-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-url-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -40359,6 +40284,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-url-column.md", "auth": { "Project": [] } @@ -40457,7 +40383,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-url-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-url-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -40471,6 +40396,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-url-column.md", "auth": { "Project": [] } @@ -40600,7 +40526,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -40614,6 +40539,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-column.md", "auth": { "Project": [] } @@ -40674,7 +40600,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -40688,6 +40613,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-column.md", "auth": { "Project": [] } @@ -40755,7 +40681,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-relationship-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-relationship-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -40769,6 +40694,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-relationship-column.md", "auth": { "Project": [] } @@ -40864,7 +40790,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-indexes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-indexes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -40878,6 +40803,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-indexes.md", "auth": { "Project": [] } @@ -40957,7 +40883,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-index.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -40971,6 +40896,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-index.md", "auth": { "Project": [] } @@ -41096,7 +41022,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-index.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -41110,6 +41035,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-index.md", "auth": { "Project": [] } @@ -41170,7 +41096,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-index.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -41184,6 +41109,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-index.md", "auth": { "Project": [] } @@ -41249,7 +41175,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-table-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-table-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -41262,6 +41187,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-table-logs.md", "auth": { "Project": [] } @@ -41331,7 +41257,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-rows.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-rows.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -41346,6 +41271,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-rows.md", "auth": { "Project": [] } @@ -41434,7 +41360,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-row.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -41449,6 +41374,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-row.md", "methods": [ { "name": "createRow", @@ -41616,7 +41542,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/upsert-rows.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/upsert-rows.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -41630,6 +41555,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/upsert-rows.md", "methods": [ { "name": "upsertRows", @@ -41746,7 +41672,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-rows.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-rows.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -41760,6 +41685,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-rows.md", "auth": { "Project": [] } @@ -41849,7 +41775,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-rows.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-rows.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -41863,6 +41788,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-rows.md", "auth": { "Project": [] } @@ -41946,7 +41872,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-row.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -41961,6 +41886,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-row.md", "auth": { "Project": [] } @@ -42048,7 +41974,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/upsert-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/upsert-row.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -42063,6 +41988,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/upsert-row.md", "methods": [ { "name": "upsertRow", @@ -42194,7 +42120,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-row.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -42209,6 +42134,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-row.md", "auth": { "Project": [] } @@ -42303,7 +42229,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-row.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -42318,6 +42243,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-row.md", "auth": { "Project": [] } @@ -42401,7 +42327,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-row-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-row-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -42414,6 +42339,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-row-logs.md", "auth": { "Project": [] } @@ -42493,7 +42419,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/decrement-row-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/decrement-row-column.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -42508,6 +42433,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/decrement-row-column.md", "auth": { "Project": [] } @@ -42613,7 +42539,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/increment-row-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/increment-row-column.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -42628,6 +42553,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/increment-row-column.md", "auth": { "Project": [] } @@ -42731,7 +42657,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-table-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-table-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -42744,6 +42669,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-table-usage.md", "auth": { "Project": [] } @@ -42821,7 +42747,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-database-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -42834,6 +42759,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-database-usage.md", "methods": [ { "name": "getUsage", @@ -42929,7 +42855,6 @@ "cookies": false, "type": "", "demo": "teams\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-teams.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -42941,6 +42866,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-teams.md", "auth": { "Project": [] } @@ -43014,7 +42940,6 @@ "cookies": false, "type": "", "demo": "teams\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -43026,6 +42951,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team.md", "auth": { "Project": [] } @@ -43105,7 +43031,6 @@ "cookies": false, "type": "", "demo": "teams\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -43117,6 +43042,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team.md", "auth": { "Project": [] } @@ -43168,7 +43094,6 @@ "cookies": false, "type": "", "demo": "teams\/update-name.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-name.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -43180,6 +43105,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-name.md", "auth": { "Project": [] } @@ -43244,7 +43170,6 @@ "cookies": false, "type": "", "demo": "teams\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -43256,6 +43181,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team.md", "auth": { "Project": [] } @@ -43307,7 +43233,6 @@ "cookies": false, "type": "", "demo": "teams\/list-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -43317,6 +43242,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-logs.md", "auth": { "Project": [] } @@ -43387,7 +43313,6 @@ "cookies": false, "type": "", "demo": "teams\/list-memberships.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-team-members.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -43399,6 +43324,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-team-members.md", "auth": { "Project": [] } @@ -43480,7 +43406,6 @@ "cookies": false, "type": "", "demo": "teams\/create-membership.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team-membership.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -43492,6 +43417,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team-membership.md", "auth": { "Project": [] } @@ -43601,7 +43527,6 @@ "cookies": false, "type": "", "demo": "teams\/get-membership.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-member.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -43613,6 +43538,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-member.md", "auth": { "Project": [] } @@ -43672,7 +43598,6 @@ "cookies": false, "type": "", "demo": "teams\/update-membership.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -43684,6 +43609,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership.md", "auth": { "Project": [] } @@ -43766,7 +43692,6 @@ "cookies": false, "type": "", "demo": "teams\/delete-membership.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team-membership.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -43778,6 +43703,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team-membership.md", "auth": { "Project": [] } @@ -43839,7 +43765,6 @@ "cookies": false, "type": "", "demo": "teams\/update-membership-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -43851,6 +43776,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership-status.md", "auth": { "Project": [] } @@ -43934,7 +43860,6 @@ "cookies": false, "type": "", "demo": "teams\/get-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -43946,6 +43871,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-prefs.md", "auth": { "Project": [] } @@ -43996,7 +43922,6 @@ "cookies": false, "type": "", "demo": "teams\/update-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -44008,6 +43933,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-prefs.md", "auth": { "Project": [] } @@ -44076,7 +44002,6 @@ "cookies": false, "type": "", "demo": "tokens\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterList all the tokens created for a specific file or bucket. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -44166,7 +44091,6 @@ "cookies": false, "type": "", "demo": "tokens\/create-file-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new token. A token is linked to a file. Token can be passed as a request URL search parameter.", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -44251,7 +44175,6 @@ "cookies": false, "type": "", "demo": "tokens\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a token by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -44312,7 +44235,6 @@ "cookies": false, "type": "", "demo": "tokens\/update.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate a token by its unique ID. Use this endpoint to update a token's expiry date.", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -44384,7 +44306,6 @@ "cookies": false, "type": "", "demo": "tokens\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a token by its unique ID.", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -44445,7 +44366,6 @@ "cookies": false, "type": "", "demo": "users\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-users.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -44456,6 +44376,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-users.md", "auth": { "Project": [] } @@ -44528,7 +44449,6 @@ "cookies": false, "type": "", "demo": "users\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -44539,6 +44459,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-user.md", "auth": { "Project": [] } @@ -44627,7 +44548,6 @@ "cookies": false, "type": "", "demo": "users\/create-argon-2-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-argon2-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -44638,6 +44558,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-argon2-user.md", "auth": { "Project": [] } @@ -44720,7 +44641,6 @@ "cookies": false, "type": "", "demo": "users\/create-bcrypt-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-bcrypt-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -44731,6 +44651,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-bcrypt-user.md", "auth": { "Project": [] } @@ -44811,7 +44732,6 @@ "cookies": false, "type": "", "demo": "users\/list-identities.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-identities.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -44822,6 +44742,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-identities.md", "auth": { "Project": [] } @@ -44891,7 +44812,6 @@ "cookies": false, "type": "", "demo": "users\/delete-identity.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-identity.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -44902,6 +44822,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-identity.md", "auth": { "Project": [] } @@ -44954,7 +44875,6 @@ "cookies": false, "type": "", "demo": "users\/create-md-5-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-md5-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -44965,6 +44885,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-md5-user.md", "auth": { "Project": [] } @@ -45047,7 +44968,6 @@ "cookies": false, "type": "", "demo": "users\/create-ph-pass-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-phpass-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -45058,6 +44978,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-phpass-user.md", "auth": { "Project": [] } @@ -45140,7 +45061,6 @@ "cookies": false, "type": "", "demo": "users\/create-scrypt-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-scrypt-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -45151,6 +45071,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-scrypt-user.md", "auth": { "Project": [] } @@ -45268,7 +45189,6 @@ "cookies": false, "type": "", "demo": "users\/create-scrypt-modified-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-scrypt-modified-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -45279,6 +45199,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-scrypt-modified-user.md", "auth": { "Project": [] } @@ -45382,7 +45303,6 @@ "cookies": false, "type": "", "demo": "users\/create-sha-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-sha-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -45393,6 +45313,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-sha-user.md", "auth": { "Project": [] } @@ -45494,7 +45415,6 @@ "cookies": false, "type": "", "demo": "users\/get-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -45504,6 +45424,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-usage.md", "auth": { "Project": [] } @@ -45565,7 +45486,6 @@ "cookies": false, "type": "", "demo": "users\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -45576,6 +45496,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user.md", "auth": { "Project": [] } @@ -45621,7 +45542,6 @@ "cookies": false, "type": "", "demo": "users\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -45632,6 +45552,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete.md", "auth": { "Project": [] } @@ -45684,7 +45605,6 @@ "cookies": false, "type": "", "demo": "users\/update-email.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-email.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -45695,6 +45615,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-email.md", "auth": { "Project": [] } @@ -45765,7 +45686,6 @@ "cookies": false, "type": "", "demo": "users\/create-jwt.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-user-jwt.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -45776,6 +45696,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-user-jwt.md", "auth": { "Project": [] } @@ -45849,7 +45770,6 @@ "cookies": false, "type": "", "demo": "users\/update-labels.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-labels.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -45860,6 +45780,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-labels.md", "auth": { "Project": [] } @@ -45931,7 +45852,6 @@ "cookies": false, "type": "", "demo": "users\/list-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -45942,6 +45862,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-logs.md", "auth": { "Project": [] } @@ -46013,7 +45934,6 @@ "cookies": false, "type": "", "demo": "users\/list-memberships.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-memberships.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -46024,6 +45944,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-memberships.md", "auth": { "Project": [] } @@ -46106,7 +46027,6 @@ "cookies": false, "type": "", "demo": "users\/update-mfa.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-mfa.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -46117,6 +46037,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-mfa.md", "deprecated": { "since": "1.8.0", "replaceWith": "users.updateMFA" @@ -46242,7 +46163,6 @@ "cookies": false, "type": "", "demo": "users\/delete-mfa-authenticator.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-mfa-authenticator.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -46253,6 +46173,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-mfa-authenticator.md", "deprecated": { "since": "1.8.0", "replaceWith": "users.deleteMFAAuthenticator" @@ -46374,7 +46295,6 @@ "cookies": false, "type": "", "demo": "users\/list-mfa-factors.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-mfa-factors.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -46385,6 +46305,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-mfa-factors.md", "deprecated": { "since": "1.8.0", "replaceWith": "users.listMFAFactors" @@ -46491,7 +46412,6 @@ "cookies": false, "type": "", "demo": "users\/get-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -46502,6 +46422,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "users.getMFARecoveryCodes" @@ -46608,7 +46529,6 @@ "cookies": false, "type": "", "demo": "users\/update-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -46619,6 +46539,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "users.updateMFARecoveryCodes" @@ -46725,7 +46646,6 @@ "cookies": false, "type": "", "demo": "users\/create-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -46736,6 +46656,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "users.createMFARecoveryCodes" @@ -46844,7 +46765,6 @@ "cookies": false, "type": "", "demo": "users\/update-name.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-name.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -46855,6 +46775,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-name.md", "auth": { "Project": [] } @@ -46925,7 +46846,6 @@ "cookies": false, "type": "", "demo": "users\/update-password.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-password.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -46936,6 +46856,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-password.md", "auth": { "Project": [] } @@ -47006,7 +46927,6 @@ "cookies": false, "type": "", "demo": "users\/update-phone.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-phone.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47017,6 +46937,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-phone.md", "auth": { "Project": [] } @@ -47085,7 +47006,6 @@ "cookies": false, "type": "", "demo": "users\/get-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47096,6 +47016,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user-prefs.md", "auth": { "Project": [] } @@ -47146,7 +47067,6 @@ "cookies": false, "type": "", "demo": "users\/update-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47157,6 +47077,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-prefs.md", "auth": { "Project": [] } @@ -47225,7 +47146,6 @@ "cookies": false, "type": "", "demo": "users\/list-sessions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-sessions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47236,6 +47156,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-sessions.md", "auth": { "Project": [] } @@ -47295,7 +47216,6 @@ "cookies": false, "type": "", "demo": "users\/create-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-session.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47306,6 +47226,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-session.md", "auth": { "Project": [] } @@ -47351,7 +47272,6 @@ "cookies": false, "type": "", "demo": "users\/delete-sessions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-user-sessions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47362,6 +47282,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-user-sessions.md", "auth": { "Project": [] } @@ -47409,7 +47330,6 @@ "cookies": false, "type": "", "demo": "users\/delete-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-user-session.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47420,6 +47340,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-user-session.md", "auth": { "Project": [] } @@ -47480,7 +47401,6 @@ "cookies": false, "type": "", "demo": "users\/update-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47491,6 +47411,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-status.md", "auth": { "Project": [] } @@ -47559,7 +47480,6 @@ "cookies": false, "type": "", "demo": "users\/list-targets.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-targets.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47570,6 +47490,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-targets.md", "auth": { "Project": [] } @@ -47641,7 +47562,6 @@ "cookies": false, "type": "", "demo": "users\/create-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47652,6 +47572,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-target.md", "auth": { "Project": [] } @@ -47753,7 +47674,6 @@ "cookies": false, "type": "", "demo": "users\/get-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47764,6 +47684,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user-target.md", "auth": { "Project": [] } @@ -47822,7 +47743,6 @@ "cookies": false, "type": "", "demo": "users\/update-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47833,6 +47753,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-target.md", "auth": { "Project": [] } @@ -47913,7 +47834,6 @@ "cookies": false, "type": "", "demo": "users\/delete-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47924,6 +47844,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-target.md", "auth": { "Project": [] } @@ -47984,7 +47905,6 @@ "cookies": false, "type": "", "demo": "users\/create-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-token.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47995,6 +47915,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-token.md", "auth": { "Project": [] } @@ -48068,7 +47989,6 @@ "cookies": false, "type": "", "demo": "users\/update-email-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-email-verification.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -48079,6 +47999,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-email-verification.md", "auth": { "Project": [] } @@ -48149,7 +48070,6 @@ "cookies": false, "type": "", "demo": "users\/update-phone-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-phone-verification.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -48160,6 +48080,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-phone-verification.md", "auth": { "Project": [] } @@ -48230,7 +48151,6 @@ "cookies": false, "type": "", "demo": "vcs\/create-repository-detection.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/create-repository-detection.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -48240,6 +48160,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/create-repository-detection.md", "auth": { "Project": [] } @@ -48326,7 +48247,6 @@ "cookies": false, "type": "", "demo": "vcs\/list-repositories.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/list-repositories.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -48336,6 +48256,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/list-repositories.md", "auth": { "Project": [] } @@ -48420,7 +48341,6 @@ "cookies": false, "type": "", "demo": "vcs\/create-repository.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/create-repository.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -48430,6 +48350,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/create-repository.md", "auth": { "Project": [] } @@ -48504,7 +48425,6 @@ "cookies": false, "type": "", "demo": "vcs\/get-repository.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/get-repository.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -48514,6 +48434,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/get-repository.md", "auth": { "Project": [] } @@ -48571,7 +48492,6 @@ "cookies": false, "type": "", "demo": "vcs\/list-repository-branches.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/list-repository-branches.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -48581,6 +48501,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/list-repository-branches.md", "auth": { "Project": [] } @@ -48638,7 +48559,6 @@ "cookies": false, "type": "", "demo": "vcs\/get-repository-contents.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/get-repository-contents.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -48648,6 +48568,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/get-repository-contents.md", "auth": { "Project": [] } @@ -48722,7 +48643,6 @@ "cookies": false, "type": "", "demo": "vcs\/update-external-deployments.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/update-external-deployments.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -48732,6 +48652,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/update-external-deployments.md", "auth": { "Project": [] } @@ -48807,7 +48728,6 @@ "cookies": false, "type": "", "demo": "vcs\/list-installations.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/list-installations.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -48817,6 +48737,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/list-installations.md", "auth": { "Project": [] } @@ -48888,7 +48809,6 @@ "cookies": false, "type": "", "demo": "vcs\/get-installation.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/get-installation.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -48898,6 +48818,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/get-installation.md", "auth": { "Project": [] } @@ -48942,7 +48863,6 @@ "cookies": false, "type": "", "demo": "vcs\/delete-installation.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/delete-installation.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -48952,6 +48872,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/delete-installation.md", "auth": { "Project": [] } diff --git a/app/config/specs/swagger2-1.8.x-server.json b/app/config/specs/swagger2-1.8.x-server.json index c7b981df48..e4337961f6 100644 --- a/app/config/specs/swagger2-1.8.x-server.json +++ b/app/config/specs/swagger2-1.8.x-server.json @@ -107,7 +107,6 @@ "cookies": false, "type": "", "demo": "account\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -119,6 +118,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get.md", "auth": { "Project": [], "Session": [] @@ -161,7 +161,6 @@ "cookies": false, "type": "", "demo": "account\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -173,6 +172,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create.md", "auth": { "Project": [], "Session": [] @@ -257,7 +257,6 @@ "cookies": false, "type": "", "demo": "account\/update-email.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-email.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -269,6 +268,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-email.md", "auth": { "Project": [], "Session": [] @@ -338,7 +338,6 @@ "cookies": false, "type": "", "demo": "account\/list-identities.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-identities.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -350,6 +349,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-identities.md", "auth": { "Project": [], "Session": [] @@ -412,7 +412,6 @@ "cookies": false, "type": "", "demo": "account\/delete-identity.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-identity.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -424,6 +423,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-identity.md", "auth": { "Project": [], "Session": [] @@ -478,7 +478,6 @@ "cookies": false, "type": "", "demo": "account\/create-jwt.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-jwt.md", "rate-limit": 100, "rate-time": 3600, "rate-key": "url:{url},userId:{userId}", @@ -490,6 +489,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-jwt.md", "auth": { "Project": [], "Session": [] @@ -532,7 +532,6 @@ "cookies": false, "type": "", "demo": "account\/list-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -544,6 +543,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-logs.md", "auth": { "Project": [], "Session": [] @@ -611,7 +611,6 @@ "cookies": false, "type": "", "demo": "account\/update-mfa.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -623,6 +622,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa.md", "auth": { "Project": [], "Session": [] @@ -687,7 +687,6 @@ "cookies": false, "type": "", "demo": "account\/create-mfa-authenticator.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-authenticator.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -699,6 +698,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-authenticator.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.createMFAAuthenticator" @@ -814,7 +814,6 @@ "cookies": false, "type": "", "demo": "account\/update-mfa-authenticator.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-authenticator.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -826,6 +825,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-authenticator.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.updateMFAAuthenticator" @@ -958,7 +958,6 @@ "cookies": false, "type": "", "demo": "account\/delete-mfa-authenticator.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-mfa-authenticator.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -970,6 +969,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-mfa-authenticator.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.deleteMFAAuthenticator" @@ -1085,7 +1085,6 @@ "cookies": false, "type": "", "demo": "account\/create-mfa-challenge.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-challenge.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},userId:{userId}", @@ -1097,6 +1096,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-challenge.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.createMFAChallenge" @@ -1225,7 +1225,6 @@ "cookies": false, "type": "", "demo": "account\/update-mfa-challenge.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-challenge.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},challengeId:{param-challengeId}", @@ -1237,6 +1236,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-challenge.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.updateMFAChallenge" @@ -1368,7 +1368,6 @@ "cookies": false, "type": "", "demo": "account\/list-mfa-factors.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-mfa-factors.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1380,6 +1379,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-mfa-factors.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.listMFAFactors" @@ -1472,7 +1472,6 @@ "cookies": false, "type": "", "demo": "account\/get-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1484,6 +1483,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.getMFARecoveryCodes" @@ -1576,7 +1576,6 @@ "cookies": false, "type": "", "demo": "account\/create-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1588,6 +1587,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.createMFARecoveryCodes" @@ -1680,7 +1680,6 @@ "cookies": false, "type": "", "demo": "account\/update-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1692,6 +1691,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.updateMFARecoveryCodes" @@ -1786,7 +1786,6 @@ "cookies": false, "type": "", "demo": "account\/update-name.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-name.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1798,6 +1797,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-name.md", "auth": { "Project": [], "Session": [] @@ -1862,7 +1862,6 @@ "cookies": false, "type": "", "demo": "account\/update-password.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-password.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1874,6 +1873,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-password.md", "auth": { "Project": [], "Session": [] @@ -1944,7 +1944,6 @@ "cookies": false, "type": "", "demo": "account\/update-phone.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-phone.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1956,6 +1955,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-phone.md", "auth": { "Project": [], "Session": [] @@ -2025,7 +2025,6 @@ "cookies": false, "type": "", "demo": "account\/get-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2037,6 +2036,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-prefs.md", "auth": { "Project": [], "Session": [] @@ -2079,7 +2079,6 @@ "cookies": false, "type": "", "demo": "account\/update-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2091,6 +2090,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-prefs.md", "auth": { "Project": [], "Session": [] @@ -2155,7 +2155,6 @@ "cookies": false, "type": "", "demo": "account\/create-recovery.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-recovery.md", "rate-limit": 10, "rate-time": 3600, "rate-key": [ @@ -2170,6 +2169,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-recovery.md", "auth": { "Project": [], "Session": [] @@ -2239,7 +2239,6 @@ "cookies": false, "type": "", "demo": "account\/update-recovery.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-recovery.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},userId:{param-userId}", @@ -2251,6 +2250,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-recovery.md", "auth": { "Project": [], "Session": [] @@ -2327,7 +2327,6 @@ "cookies": false, "type": "", "demo": "account\/list-sessions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-sessions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2339,6 +2338,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-sessions.md", "auth": { "Project": [], "Session": [] @@ -2376,7 +2376,6 @@ "cookies": false, "type": "", "demo": "account\/delete-sessions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-sessions.md", "rate-limit": 100, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2388,6 +2387,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-sessions.md", "auth": { "Project": [], "Session": [] @@ -2432,7 +2432,6 @@ "cookies": false, "type": "", "demo": "account\/create-anonymous-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-anonymous.md", "rate-limit": 50, "rate-time": 3600, "rate-key": "ip:{ip}", @@ -2444,6 +2443,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-anonymous.md", "auth": { "Project": [], "Session": [] @@ -2488,7 +2488,6 @@ "cookies": false, "type": "", "demo": "account\/create-email-password-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-email-password.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},email:{param-email}", @@ -2500,6 +2499,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-email-password.md", "auth": { "Project": [], "Session": [] @@ -2571,7 +2571,6 @@ "cookies": false, "type": "", "demo": "account\/update-magic-url-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "ip:{ip},userId:{param-userId}", @@ -2583,6 +2582,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "deprecated": { "since": "1.6.0", "replaceWith": "account.createSession" @@ -2658,7 +2658,6 @@ "cookies": false, "type": "", "demo": "account\/update-phone-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "ip:{ip},userId:{param-userId}", @@ -2670,6 +2669,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "deprecated": { "since": "1.6.0", "replaceWith": "account.createSession" @@ -2745,7 +2745,6 @@ "cookies": false, "type": "", "demo": "account\/create-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "ip:{ip},userId:{param-userId}", @@ -2757,6 +2756,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "auth": { "Project": [], "Session": [] @@ -2826,7 +2826,6 @@ "cookies": false, "type": "", "demo": "account\/get-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-session.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2838,6 +2837,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-session.md", "auth": { "Project": [], "Session": [] @@ -2890,7 +2890,6 @@ "cookies": false, "type": "", "demo": "account\/update-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-session.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2902,6 +2901,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-session.md", "auth": { "Project": [], "Session": [] @@ -2949,7 +2949,6 @@ "cookies": false, "type": "", "demo": "account\/delete-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-session.md", "rate-limit": 100, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2961,6 +2960,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-session.md", "auth": { "Project": [], "Session": [] @@ -3015,7 +3015,6 @@ "cookies": false, "type": "", "demo": "account\/update-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -3027,6 +3026,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-status.md", "auth": { "Project": [], "Session": [] @@ -3071,7 +3071,6 @@ "cookies": false, "type": "", "demo": "account\/create-email-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-email.md", "rate-limit": 10, "rate-time": 3600, "rate-key": [ @@ -3086,6 +3085,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-email.md", "auth": { "Project": [], "Session": [] @@ -3163,7 +3163,6 @@ "cookies": false, "type": "", "demo": "account\/create-magic-url-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-magic-url.md", "rate-limit": 60, "rate-time": 3600, "rate-key": [ @@ -3178,6 +3177,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-magic-url.md", "auth": { "Project": [], "Session": [] @@ -3256,7 +3256,6 @@ "cookies": false, "type": "webAuth", "demo": "account\/create-o-auth-2-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-oauth2.md", "rate-limit": 50, "rate-time": 3600, "rate-key": "ip:{ip}", @@ -3268,6 +3267,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-oauth2.md", "auth": { "Project": [], "Session": [] @@ -3398,7 +3398,6 @@ "cookies": false, "type": "", "demo": "account\/create-phone-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-phone.md", "rate-limit": 10, "rate-time": 3600, "rate-key": [ @@ -3413,6 +3412,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-phone.md", "auth": { "Project": [], "Session": [] @@ -3484,7 +3484,6 @@ "cookies": false, "type": "", "demo": "account\/create-email-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-email-verification.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},userId:{userId}", @@ -3496,6 +3495,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-email-verification.md", "methods": [ { "name": "createEmailVerification", @@ -3612,7 +3612,6 @@ "cookies": false, "type": "", "demo": "account\/update-email-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-email-verification.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},userId:{param-userId}", @@ -3624,6 +3623,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-email-verification.md", "methods": [ { "name": "updateEmailVerification", @@ -3753,7 +3753,6 @@ "cookies": false, "type": "", "demo": "account\/create-phone-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-phone-verification.md", "rate-limit": 10, "rate-time": 3600, "rate-key": [ @@ -3768,6 +3767,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-phone-verification.md", "auth": { "Project": [], "Session": [] @@ -3810,7 +3810,6 @@ "cookies": false, "type": "", "demo": "account\/update-phone-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-phone-verification.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "userId:{param-userId}", @@ -3822,6 +3821,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-phone-verification.md", "auth": { "Project": [], "Session": [] @@ -3891,7 +3891,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-browser.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-browser.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -3903,6 +3902,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-browser.md", "auth": { "Project": [], "Session": [] @@ -4019,7 +4019,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-credit-card.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-credit-card.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4031,6 +4030,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-credit-card.md", "auth": { "Project": [], "Session": [] @@ -4153,7 +4153,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-favicon.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-favicon.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4165,6 +4164,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-favicon.md", "auth": { "Project": [], "Session": [] @@ -4219,7 +4219,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-flag.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-flag.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4231,6 +4230,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-flag.md", "auth": { "Project": [], "Session": [] @@ -4709,7 +4709,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-image.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-image.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4721,6 +4720,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-image.md", "auth": { "Project": [], "Session": [] @@ -4795,7 +4795,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-initials.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-initials.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4807,6 +4806,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-initials.md", "auth": { "Project": [], "Session": [] @@ -4889,7 +4889,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-qr.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-qr.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4901,6 +4900,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-qr.md", "auth": { "Project": [], "Session": [] @@ -4983,7 +4983,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-screenshot.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-screenshot.md", "rate-limit": 60, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4995,6 +4994,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-screenshot.md", "auth": { "Project": [], "Session": [] @@ -5698,7 +5698,6 @@ "cookies": false, "type": "", "demo": "databases\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -5709,6 +5708,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.list" @@ -5816,7 +5816,6 @@ "cookies": false, "type": "", "demo": "databases\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -5827,6 +5826,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.create" @@ -5938,7 +5938,6 @@ "cookies": false, "type": "", "demo": "databases\/list-transactions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-transactions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -5950,6 +5949,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-transactions.md", "auth": { "Project": [], "Key": [] @@ -6007,7 +6007,6 @@ "cookies": false, "type": "", "demo": "databases\/create-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6019,6 +6018,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-transaction.md", "auth": { "Project": [], "Key": [] @@ -6079,7 +6079,6 @@ "cookies": false, "type": "", "demo": "databases\/get-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6091,6 +6090,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-transaction.md", "auth": { "Project": [], "Key": [] @@ -6144,7 +6144,6 @@ "cookies": false, "type": "", "demo": "databases\/update-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6156,6 +6155,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-transaction.md", "auth": { "Project": [], "Key": [] @@ -6225,7 +6225,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6237,6 +6236,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-transaction.md", "auth": { "Project": [], "Key": [] @@ -6292,7 +6292,6 @@ "cookies": false, "type": "", "demo": "databases\/create-operations.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-operations.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6304,6 +6303,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-operations.md", "auth": { "Project": [], "Key": [] @@ -6375,7 +6375,6 @@ "cookies": false, "type": "", "demo": "databases\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6386,6 +6385,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.get" @@ -6471,7 +6471,6 @@ "cookies": false, "type": "", "demo": "databases\/update.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6482,6 +6481,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.update" @@ -6589,7 +6589,6 @@ "cookies": false, "type": "", "demo": "databases\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6600,6 +6599,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.delete" @@ -6684,7 +6684,6 @@ "cookies": false, "type": "", "demo": "databases\/list-collections.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-collections.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6695,6 +6694,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-collections.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.listTables" @@ -6780,7 +6780,6 @@ "cookies": false, "type": "", "demo": "databases\/create-collection.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-collection.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6791,6 +6790,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-collection.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createTable" @@ -6911,7 +6911,6 @@ "cookies": false, "type": "", "demo": "databases\/get-collection.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-collection.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6922,6 +6921,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-collection.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.getTable" @@ -6985,7 +6985,6 @@ "cookies": false, "type": "", "demo": "databases\/update-collection.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-collection.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6996,6 +6995,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-collection.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateTable" @@ -7094,7 +7094,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-collection.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-collection.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7105,6 +7104,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-collection.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.deleteTable" @@ -7168,7 +7168,6 @@ "cookies": false, "type": "", "demo": "databases\/list-attributes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-attributes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7179,6 +7178,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-attributes.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.listColumns" @@ -7265,7 +7265,6 @@ "cookies": false, "type": "", "demo": "databases\/create-boolean-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-boolean-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7276,6 +7275,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-boolean-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createBooleanColumn" @@ -7379,7 +7379,6 @@ "cookies": false, "type": "", "demo": "databases\/update-boolean-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-boolean-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7390,6 +7389,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-boolean-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateBooleanColumn" @@ -7495,7 +7495,6 @@ "cookies": false, "type": "", "demo": "databases\/create-datetime-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-datetime-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7506,6 +7505,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-datetime-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createDatetimeColumn" @@ -7609,7 +7609,6 @@ "cookies": false, "type": "", "demo": "databases\/update-datetime-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-datetime-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7620,6 +7619,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-datetime-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateDatetimeColumn" @@ -7725,7 +7725,6 @@ "cookies": false, "type": "", "demo": "databases\/create-email-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-email-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7736,6 +7735,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-email-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createEmailColumn" @@ -7839,7 +7839,6 @@ "cookies": false, "type": "", "demo": "databases\/update-email-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-email-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7850,6 +7849,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-email-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateEmailColumn" @@ -7955,7 +7955,6 @@ "cookies": false, "type": "", "demo": "databases\/create-enum-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-enum-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7966,6 +7965,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-enum-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createEnumColumn" @@ -8079,7 +8079,6 @@ "cookies": false, "type": "", "demo": "databases\/update-enum-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-enum-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8090,6 +8089,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-enum-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateEnumColumn" @@ -8205,7 +8205,6 @@ "cookies": false, "type": "", "demo": "databases\/create-float-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-float-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8216,6 +8215,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-float-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createFloatColumn" @@ -8333,7 +8333,6 @@ "cookies": false, "type": "", "demo": "databases\/update-float-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-float-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8344,6 +8343,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-float-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateFloatColumn" @@ -8463,7 +8463,6 @@ "cookies": false, "type": "", "demo": "databases\/create-integer-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-integer-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8474,6 +8473,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-integer-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createIntegerColumn" @@ -8591,7 +8591,6 @@ "cookies": false, "type": "", "demo": "databases\/update-integer-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-integer-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8602,6 +8601,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-integer-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateIntegerColumn" @@ -8721,7 +8721,6 @@ "cookies": false, "type": "", "demo": "databases\/create-ip-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-ip-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8732,6 +8731,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-ip-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createIpColumn" @@ -8835,7 +8835,6 @@ "cookies": false, "type": "", "demo": "databases\/update-ip-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-ip-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8846,6 +8845,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-ip-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateIpColumn" @@ -8951,7 +8951,6 @@ "cookies": false, "type": "", "demo": "databases\/create-line-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-line-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8962,6 +8961,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-line-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createLineColumn" @@ -9059,7 +9059,6 @@ "cookies": false, "type": "", "demo": "databases\/update-line-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-line-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9070,6 +9069,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-line-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateLineColumn" @@ -9174,7 +9174,6 @@ "cookies": false, "type": "", "demo": "databases\/create-point-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-point-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9185,6 +9184,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-point-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createPointColumn" @@ -9282,7 +9282,6 @@ "cookies": false, "type": "", "demo": "databases\/update-point-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-point-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9293,6 +9292,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-point-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updatePointColumn" @@ -9397,7 +9397,6 @@ "cookies": false, "type": "", "demo": "databases\/create-polygon-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-polygon-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9408,6 +9407,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-polygon-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createPolygonColumn" @@ -9505,7 +9505,6 @@ "cookies": false, "type": "", "demo": "databases\/update-polygon-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-polygon-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9516,6 +9515,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-polygon-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updatePolygonColumn" @@ -9620,7 +9620,6 @@ "cookies": false, "type": "", "demo": "databases\/create-relationship-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-relationship-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9631,6 +9630,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-relationship-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createRelationshipColumn" @@ -9762,7 +9762,6 @@ "cookies": false, "type": "", "demo": "databases\/create-string-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-string-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9773,6 +9772,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-string-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createStringColumn" @@ -9889,7 +9889,6 @@ "cookies": false, "type": "", "demo": "databases\/update-string-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-string-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9900,6 +9899,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-string-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateStringColumn" @@ -10012,7 +10012,6 @@ "cookies": false, "type": "", "demo": "databases\/create-url-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-url-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10023,6 +10022,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-url-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createUrlColumn" @@ -10126,7 +10126,6 @@ "cookies": false, "type": "", "demo": "databases\/update-url-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-url-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10137,6 +10136,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-url-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateUrlColumn" @@ -10271,7 +10271,6 @@ "cookies": false, "type": "", "demo": "databases\/get-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10282,6 +10281,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.getColumn" @@ -10347,7 +10347,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10358,6 +10357,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.deleteColumn" @@ -10430,7 +10430,6 @@ "cookies": false, "type": "", "demo": "databases\/update-relationship-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-relationship-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10441,6 +10440,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-relationship-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateRelationshipColumn" @@ -10541,7 +10541,6 @@ "cookies": false, "type": "", "demo": "databases\/list-documents.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-documents.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10553,6 +10552,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-documents.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.listRows" @@ -10647,7 +10647,6 @@ "cookies": false, "type": "", "demo": "databases\/create-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-document.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -10659,6 +10658,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createRow" @@ -10842,7 +10842,6 @@ "cookies": false, "type": "", "demo": "databases\/upsert-documents.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-documents.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -10853,6 +10852,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-documents.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.upsertRows" @@ -10979,7 +10979,6 @@ "cookies": false, "type": "", "demo": "databases\/update-documents.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-documents.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -10990,6 +10989,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-documents.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateRows" @@ -11084,7 +11084,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-documents.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-documents.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -11095,6 +11094,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-documents.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.deleteRows" @@ -11183,7 +11183,6 @@ "cookies": false, "type": "", "demo": "databases\/get-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-document.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -11195,6 +11194,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.getRow" @@ -11288,7 +11288,6 @@ "cookies": false, "type": "", "demo": "databases\/upsert-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-document.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -11300,6 +11299,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.upsertRow" @@ -11446,7 +11446,6 @@ "cookies": false, "type": "", "demo": "databases\/update-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-document.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -11458,6 +11457,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateRow" @@ -11558,7 +11558,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-document.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -11570,6 +11569,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.deleteRow" @@ -11661,7 +11661,6 @@ "cookies": false, "type": "", "demo": "databases\/decrement-document-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/decrement-document-attribute.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -11673,6 +11672,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/decrement-document-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.decrementRowColumn" @@ -11784,7 +11784,6 @@ "cookies": false, "type": "", "demo": "databases\/increment-document-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/increment-document-attribute.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -11796,6 +11795,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/increment-document-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.incrementRowColumn" @@ -11905,7 +11905,6 @@ "cookies": false, "type": "", "demo": "databases\/list-indexes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-indexes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -11916,6 +11915,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-indexes.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.listIndexes" @@ -12000,7 +12000,6 @@ "cookies": false, "type": "", "demo": "databases\/create-index.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12011,6 +12010,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-index.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createIndex" @@ -12141,7 +12141,6 @@ "cookies": false, "type": "", "demo": "databases\/get-index.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12152,6 +12151,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-index.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.getIndex" @@ -12217,7 +12217,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-index.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12228,6 +12227,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-index.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.deleteIndex" @@ -12298,7 +12298,6 @@ "cookies": false, "type": "", "demo": "functions\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all the project's functions. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12382,7 +12381,6 @@ "cookies": false, "type": "", "demo": "functions\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new function. You can pass a list of [permissions](https:\/\/appwrite.io\/docs\/permissions) to allow different project users or team with access to execute the function using the client API.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12697,7 +12695,6 @@ "cookies": false, "type": "", "demo": "functions\/list-runtimes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all runtimes that are currently active on your instance.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12749,7 +12746,6 @@ "cookies": false, "type": "", "demo": "functions\/list-specifications.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterList allowed function specifications for this instance.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12801,7 +12797,6 @@ "cookies": false, "type": "", "demo": "functions\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a function by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12863,7 +12858,6 @@ "cookies": false, "type": "", "demo": "functions\/update.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate function by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13174,7 +13168,6 @@ "cookies": false, "type": "", "demo": "functions\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a function by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13238,7 +13231,6 @@ "cookies": false, "type": "", "demo": "functions\/update-function-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate the function active deployment. Use this endpoint to switch the code deployment that should be used when visitor opens your function.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13318,7 +13310,6 @@ "cookies": false, "type": "", "demo": "functions\/list-deployments.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all the function's code deployments. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13410,7 +13401,6 @@ "cookies": false, "type": "upload", "demo": "functions\/create-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new function code deployment. Use this endpoint to upload a new version of your code function. To execute your newly uploaded code, you'll need to update the function's deployment to use your new deployment UID.\n\nThis endpoint accepts a tar.gz file compressed with your code. Make sure to include any dependencies your code has within the compressed file. You can learn more about code packaging in the [Appwrite Cloud Functions tutorial](https:\/\/appwrite.io\/docs\/functions).\n\nUse the \"command\" param to set the entrypoint used to execute your code.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13505,7 +13495,6 @@ "cookies": false, "type": "", "demo": "functions\/create-duplicate-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new build for an existing function deployment. This endpoint allows you to rebuild a deployment with the updated function configuration, including its entrypoint and build commands if they have been modified. The build process will be queued and executed asynchronously. The original deployment's code will be preserved and used for the new build.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13593,7 +13582,6 @@ "cookies": false, "type": "", "demo": "functions\/create-template-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a deployment based on a template.\n\nUse this endpoint with combination of [listTemplates](https:\/\/appwrite.io\/docs\/products\/functions\/templates) to find the template details.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13716,7 +13704,6 @@ "cookies": false, "type": "", "demo": "functions\/create-vcs-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a deployment when a function is connected to VCS.\n\nThis endpoint lets you create deployment from a branch, commit, or a tag.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13815,7 +13802,6 @@ "cookies": false, "type": "", "demo": "functions\/get-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a function deployment by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13880,7 +13866,6 @@ "cookies": false, "type": "", "demo": "functions\/delete-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a code deployment by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13950,7 +13935,6 @@ "cookies": false, "type": "location", "demo": "functions\/get-deployment-download.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a function deployment content by its unique ID. The endpoint response return with a 'Content-Disposition: attachment' header that tells the browser to start downloading the file to user downloads directory.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14038,7 +14022,6 @@ "cookies": false, "type": "", "demo": "functions\/update-deployment-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCancel an ongoing function deployment build. If the build is already in progress, it will be stopped and marked as canceled. If the build hasn't started yet, it will be marked as canceled without executing. You cannot cancel builds that have already completed (status 'ready') or failed. The response includes the final build status and details.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14108,7 +14091,6 @@ "cookies": false, "type": "", "demo": "functions\/list-executions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all the current user function execution logs. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14194,7 +14176,6 @@ "cookies": false, "type": "", "demo": "functions\/create-execution.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterTrigger a function execution. The returned object will return you the current execution status. You can ping the `Get Execution` endpoint to get updates on the current execution status. Once this endpoint is called, your function execution process will start asynchronously.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14316,7 +14297,6 @@ "cookies": false, "type": "", "demo": "functions\/get-execution.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a function execution log by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14384,7 +14364,6 @@ "cookies": false, "type": "", "demo": "functions\/delete-execution.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a function execution by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14454,7 +14433,6 @@ "cookies": false, "type": "", "demo": "functions\/list-variables.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all variables of a specific function.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14516,7 +14494,6 @@ "cookies": false, "type": "", "demo": "functions\/create-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new function environment variable. These variables can be accessed in the function at runtime as environment variables.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14609,7 +14586,6 @@ "cookies": false, "type": "", "demo": "functions\/get-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a variable by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14679,7 +14655,6 @@ "cookies": false, "type": "", "demo": "functions\/update-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate variable by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14776,7 +14751,6 @@ "cookies": false, "type": "", "demo": "functions\/delete-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a variable by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14848,7 +14822,6 @@ "cookies": false, "type": "graphql", "demo": "graphql\/query.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "rate-limit": 60, "rate-time": 60, "rate-key": "url:{url},ip:{ip}", @@ -14860,6 +14833,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "auth": { "Project": [], "Key": [] @@ -14925,7 +14899,6 @@ "cookies": false, "type": "graphql", "demo": "graphql\/mutation.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "rate-limit": 60, "rate-time": 60, "rate-key": "url:{url},ip:{ip}", @@ -14937,6 +14910,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "auth": { "Project": [], "Key": [] @@ -15000,7 +14974,6 @@ "cookies": false, "type": "", "demo": "health\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15011,6 +14984,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get.md", "auth": { "Project": [], "Key": [] @@ -15052,7 +15026,6 @@ "cookies": false, "type": "", "demo": "health\/get-antivirus.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage-anti-virus.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15063,6 +15036,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage-anti-virus.md", "auth": { "Project": [], "Key": [] @@ -15104,7 +15078,6 @@ "cookies": false, "type": "", "demo": "health\/get-cache.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-cache.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15115,6 +15088,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-cache.md", "auth": { "Project": [], "Key": [] @@ -15156,7 +15130,6 @@ "cookies": false, "type": "", "demo": "health\/get-certificate.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-certificate.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15167,6 +15140,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-certificate.md", "auth": { "Project": [], "Key": [] @@ -15217,7 +15191,6 @@ "cookies": false, "type": "", "demo": "health\/get-db.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-db.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15228,6 +15201,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-db.md", "auth": { "Project": [], "Key": [] @@ -15269,7 +15243,6 @@ "cookies": false, "type": "", "demo": "health\/get-pub-sub.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-pubsub.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15280,6 +15253,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-pubsub.md", "auth": { "Project": [], "Key": [] @@ -15321,7 +15295,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-builds.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-builds.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15332,6 +15305,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-builds.md", "auth": { "Project": [], "Key": [] @@ -15384,7 +15358,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-certificates.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-certificates.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15395,6 +15368,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-certificates.md", "auth": { "Project": [], "Key": [] @@ -15447,7 +15421,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-databases.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-databases.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15458,6 +15431,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-databases.md", "auth": { "Project": [], "Key": [] @@ -15519,7 +15493,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-deletes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-deletes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15530,6 +15503,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-deletes.md", "auth": { "Project": [], "Key": [] @@ -15582,7 +15556,6 @@ "cookies": false, "type": "", "demo": "health\/get-failed-jobs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-failed-queue-jobs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15593,6 +15566,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-failed-queue-jobs.md", "auth": { "Project": [], "Key": [] @@ -15669,7 +15643,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-functions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-functions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15680,6 +15653,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-functions.md", "auth": { "Project": [], "Key": [] @@ -15732,7 +15706,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15743,6 +15716,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-logs.md", "auth": { "Project": [], "Key": [] @@ -15795,7 +15769,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-mails.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-mails.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15806,6 +15779,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-mails.md", "auth": { "Project": [], "Key": [] @@ -15858,7 +15832,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-messaging.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-messaging.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15869,6 +15842,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-messaging.md", "auth": { "Project": [], "Key": [] @@ -15921,7 +15895,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-migrations.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-migrations.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15932,6 +15905,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-migrations.md", "auth": { "Project": [], "Key": [] @@ -15984,7 +15958,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-stats-resources.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-stats-resources.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15995,6 +15968,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-stats-resources.md", "auth": { "Project": [], "Key": [] @@ -16047,7 +16021,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-stats-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16058,6 +16031,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-stats-usage.md", "auth": { "Project": [], "Key": [] @@ -16110,7 +16084,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-webhooks.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-webhooks.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16121,6 +16094,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-webhooks.md", "auth": { "Project": [], "Key": [] @@ -16173,7 +16147,6 @@ "cookies": false, "type": "", "demo": "health\/get-storage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16184,6 +16157,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage.md", "auth": { "Project": [], "Key": [] @@ -16225,7 +16199,6 @@ "cookies": false, "type": "", "demo": "health\/get-storage-local.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage-local.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16236,6 +16209,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage-local.md", "auth": { "Project": [], "Key": [] @@ -16277,7 +16251,6 @@ "cookies": false, "type": "", "demo": "health\/get-time.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-time.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16288,6 +16261,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-time.md", "auth": { "Project": [], "Key": [] @@ -16329,7 +16303,6 @@ "cookies": false, "type": "", "demo": "locale\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/get-locale.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16341,6 +16314,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/get-locale.md", "auth": { "Project": [], "Session": [] @@ -16384,7 +16358,6 @@ "cookies": false, "type": "", "demo": "locale\/list-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-locale-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16396,6 +16369,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-locale-codes.md", "auth": { "Project": [], "Session": [] @@ -16439,7 +16413,6 @@ "cookies": false, "type": "", "demo": "locale\/list-continents.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-continents.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16451,6 +16424,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-continents.md", "auth": { "Project": [], "Session": [] @@ -16494,7 +16468,6 @@ "cookies": false, "type": "", "demo": "locale\/list-countries.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16506,6 +16479,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries.md", "auth": { "Project": [], "Session": [] @@ -16549,7 +16523,6 @@ "cookies": false, "type": "", "demo": "locale\/list-countries-eu.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-eu.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16561,6 +16534,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-eu.md", "auth": { "Project": [], "Session": [] @@ -16604,7 +16578,6 @@ "cookies": false, "type": "", "demo": "locale\/list-countries-phones.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-phones.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16616,6 +16589,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-phones.md", "auth": { "Project": [], "Session": [] @@ -16659,7 +16633,6 @@ "cookies": false, "type": "", "demo": "locale\/list-currencies.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-currencies.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16671,6 +16644,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-currencies.md", "auth": { "Project": [], "Session": [] @@ -16714,7 +16688,6 @@ "cookies": false, "type": "", "demo": "locale\/list-languages.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-languages.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16726,6 +16699,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-languages.md", "auth": { "Project": [], "Session": [] @@ -16769,7 +16743,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-messages.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-messages.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16780,6 +16753,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-messages.md", "auth": { "Project": [], "Key": [] @@ -16855,7 +16829,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-email.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-email.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16866,6 +16839,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-email.md", "auth": { "Project": [], "Key": [] @@ -17016,7 +16990,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-email.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-email.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17027,6 +17000,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-email.md", "auth": { "Project": [], "Key": [] @@ -17184,7 +17158,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-push.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-push.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17195,6 +17168,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-push.md", "auth": { "Project": [], "Key": [] @@ -17383,7 +17357,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-push.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-push.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17394,6 +17367,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-push.md", "auth": { "Project": [], "Key": [] @@ -17597,7 +17571,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-sms.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-sms.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17608,6 +17581,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-sms.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.createSMS" @@ -17790,7 +17764,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-sms.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-sms.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17801,6 +17774,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-sms.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.updateSMS" @@ -17982,7 +17956,6 @@ "cookies": false, "type": "", "demo": "messaging\/get-message.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-message.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17993,6 +17966,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-message.md", "auth": { "Project": [], "Key": [] @@ -18039,7 +18013,6 @@ "cookies": false, "type": "", "demo": "messaging\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-message.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18050,6 +18023,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-message.md", "auth": { "Project": [], "Key": [] @@ -18101,7 +18075,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-message-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-message-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18112,6 +18085,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-message-logs.md", "auth": { "Project": [], "Key": [] @@ -18184,7 +18158,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-targets.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-message-targets.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18195,6 +18168,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-message-targets.md", "auth": { "Project": [], "Key": [] @@ -18267,7 +18241,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-providers.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-providers.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18278,6 +18251,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-providers.md", "auth": { "Project": [], "Key": [] @@ -18353,7 +18327,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-apns-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-apns-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18364,6 +18337,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-apns-provider.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.createAPNSProvider" @@ -18545,7 +18519,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-apns-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-apns-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18556,6 +18529,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-apns-provider.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.updateAPNSProvider" @@ -18734,7 +18708,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-fcm-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-fcm-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18745,6 +18718,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-fcm-provider.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.createFCMProvider" @@ -18895,7 +18869,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-fcm-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-fcm-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18906,6 +18879,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-fcm-provider.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.updateFCMProvider" @@ -19052,7 +19026,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-mailgun-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-mailgun-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19063,6 +19036,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-mailgun-provider.md", "auth": { "Project": [], "Key": [] @@ -19183,7 +19157,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-mailgun-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-mailgun-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19194,6 +19167,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-mailgun-provider.md", "auth": { "Project": [], "Key": [] @@ -19312,7 +19286,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-msg-91-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-msg91-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19323,6 +19296,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-msg91-provider.md", "auth": { "Project": [], "Key": [] @@ -19418,7 +19392,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-msg-91-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-msg91-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19429,6 +19402,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-msg91-provider.md", "auth": { "Project": [], "Key": [] @@ -19522,7 +19496,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-resend-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-resend-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19533,6 +19506,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-resend-provider.md", "auth": { "Project": [], "Key": [] @@ -19640,7 +19614,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-resend-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-resend-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19651,6 +19624,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-resend-provider.md", "auth": { "Project": [], "Key": [] @@ -19756,7 +19730,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-sendgrid-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-sendgrid-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19767,6 +19740,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-sendgrid-provider.md", "auth": { "Project": [], "Key": [] @@ -19874,7 +19848,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-sendgrid-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-sendgrid-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19885,6 +19858,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-sendgrid-provider.md", "auth": { "Project": [], "Key": [] @@ -19990,7 +19964,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-smtp-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-smtp-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20001,6 +19974,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-smtp-provider.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.createSMTPProvider" @@ -20240,7 +20214,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-smtp-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-smtp-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20251,6 +20224,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-smtp-provider.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.updateSMTPProvider" @@ -20485,7 +20459,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-telesign-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-telesign-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20496,6 +20469,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-telesign-provider.md", "auth": { "Project": [], "Key": [] @@ -20591,7 +20565,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-telesign-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-telesign-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20602,6 +20575,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-telesign-provider.md", "auth": { "Project": [], "Key": [] @@ -20695,7 +20669,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-textmagic-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-textmagic-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20706,6 +20679,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-textmagic-provider.md", "auth": { "Project": [], "Key": [] @@ -20801,7 +20775,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-textmagic-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-textmagic-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20812,6 +20785,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-textmagic-provider.md", "auth": { "Project": [], "Key": [] @@ -20905,7 +20879,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-twilio-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-twilio-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20916,6 +20889,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-twilio-provider.md", "auth": { "Project": [], "Key": [] @@ -21011,7 +20985,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-twilio-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-twilio-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21022,6 +20995,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-twilio-provider.md", "auth": { "Project": [], "Key": [] @@ -21115,7 +21089,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-vonage-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-vonage-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21126,6 +21099,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-vonage-provider.md", "auth": { "Project": [], "Key": [] @@ -21221,7 +21195,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-vonage-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-vonage-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21232,6 +21205,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-vonage-provider.md", "auth": { "Project": [], "Key": [] @@ -21323,7 +21297,6 @@ "cookies": false, "type": "", "demo": "messaging\/get-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21334,6 +21307,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-provider.md", "auth": { "Project": [], "Key": [] @@ -21380,7 +21354,6 @@ "cookies": false, "type": "", "demo": "messaging\/delete-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21391,6 +21364,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-provider.md", "auth": { "Project": [], "Key": [] @@ -21442,7 +21416,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-provider-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-provider-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21453,6 +21426,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-provider-logs.md", "auth": { "Project": [], "Key": [] @@ -21525,7 +21499,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-subscriber-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-subscriber-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21536,6 +21509,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-subscriber-logs.md", "auth": { "Project": [], "Key": [] @@ -21608,7 +21582,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-topics.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-topics.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21619,6 +21592,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-topics.md", "auth": { "Project": [], "Key": [] @@ -21692,7 +21666,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-topic.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-topic.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21703,6 +21676,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-topic.md", "auth": { "Project": [], "Key": [] @@ -21782,7 +21756,6 @@ "cookies": false, "type": "", "demo": "messaging\/get-topic.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-topic.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21793,6 +21766,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-topic.md", "auth": { "Project": [], "Key": [] @@ -21844,7 +21818,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-topic.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-topic.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21855,6 +21828,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-topic.md", "auth": { "Project": [], "Key": [] @@ -21927,7 +21901,6 @@ "cookies": false, "type": "", "demo": "messaging\/delete-topic.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-topic.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21938,6 +21911,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-topic.md", "auth": { "Project": [], "Key": [] @@ -21989,7 +21963,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-topic-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-topic-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22000,6 +21973,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-topic-logs.md", "auth": { "Project": [], "Key": [] @@ -22072,7 +22046,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-subscribers.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-subscribers.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22083,6 +22056,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-subscribers.md", "auth": { "Project": [], "Key": [] @@ -22164,7 +22138,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-subscriber.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-subscriber.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22176,6 +22149,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-subscriber.md", "auth": { "Project": [], "JWT": [] @@ -22254,7 +22228,6 @@ "cookies": false, "type": "", "demo": "messaging\/get-subscriber.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-subscriber.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22265,6 +22238,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-subscriber.md", "auth": { "Project": [], "Key": [] @@ -22319,7 +22293,6 @@ "cookies": false, "type": "", "demo": "messaging\/delete-subscriber.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-subscriber.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22331,6 +22304,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-subscriber.md", "auth": { "Project": [], "JWT": [] @@ -22392,7 +22366,6 @@ "cookies": false, "type": "", "demo": "sites\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all the project's sites. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22476,7 +22449,6 @@ "cookies": false, "type": "", "demo": "sites\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new site.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22749,7 +22721,6 @@ "cookies": false, "type": "", "demo": "sites\/list-frameworks.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all frameworks that are currently available on the server instance.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22801,7 +22772,6 @@ "cookies": false, "type": "", "demo": "sites\/list-specifications.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterList allowed site specifications for this instance.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22853,7 +22823,6 @@ "cookies": false, "type": "", "demo": "sites\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a site by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22915,7 +22884,6 @@ "cookies": false, "type": "", "demo": "sites\/update.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate site by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23183,7 +23151,6 @@ "cookies": false, "type": "", "demo": "sites\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a site by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23247,7 +23214,6 @@ "cookies": false, "type": "", "demo": "sites\/update-site-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate the site active deployment. Use this endpoint to switch the code deployment that should be used when visitor opens your site.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23327,7 +23293,6 @@ "cookies": false, "type": "", "demo": "sites\/list-deployments.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all the site's code deployments. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23419,7 +23384,6 @@ "cookies": false, "type": "upload", "demo": "sites\/create-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new site code deployment. Use this endpoint to upload a new version of your site code. To activate your newly uploaded code, you'll need to update the site's deployment to use your new deployment ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23522,7 +23486,6 @@ "cookies": false, "type": "", "demo": "sites\/create-duplicate-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new build for an existing site deployment. This endpoint allows you to rebuild a deployment with the updated site configuration, including its commands and output directory if they have been modified. The build process will be queued and executed asynchronously. The original deployment's code will be preserved and used for the new build.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23604,7 +23567,6 @@ "cookies": false, "type": "", "demo": "sites\/create-template-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a deployment based on a template.\n\nUse this endpoint with combination of [listTemplates](https:\/\/appwrite.io\/docs\/products\/sites\/templates) to find the template details.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23727,7 +23689,6 @@ "cookies": false, "type": "", "demo": "sites\/create-vcs-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a deployment when a site is connected to VCS.\n\nThis endpoint lets you create deployment from a branch, commit, or a tag.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23827,7 +23788,6 @@ "cookies": false, "type": "", "demo": "sites\/get-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a site deployment by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23892,7 +23852,6 @@ "cookies": false, "type": "", "demo": "sites\/delete-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a site deployment by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23962,7 +23921,6 @@ "cookies": false, "type": "location", "demo": "sites\/get-deployment-download.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a site deployment content by its unique ID. The endpoint response return with a 'Content-Disposition: attachment' header that tells the browser to start downloading the file to user downloads directory.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24050,7 +24008,6 @@ "cookies": false, "type": "", "demo": "sites\/update-deployment-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCancel an ongoing site deployment build. If the build is already in progress, it will be stopped and marked as canceled. If the build hasn't started yet, it will be marked as canceled without executing. You cannot cancel builds that have already completed (status 'ready') or failed. The response includes the final build status and details.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24120,7 +24077,6 @@ "cookies": false, "type": "", "demo": "sites\/list-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all site logs. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24203,7 +24159,6 @@ "cookies": false, "type": "", "demo": "sites\/get-log.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a site request log by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24270,7 +24225,6 @@ "cookies": false, "type": "", "demo": "sites\/delete-log.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a site log by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24340,7 +24294,6 @@ "cookies": false, "type": "", "demo": "sites\/list-variables.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all variables of a specific site.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24402,7 +24355,6 @@ "cookies": false, "type": "", "demo": "sites\/create-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new site variable. These variables can be accessed during build and runtime (server-side rendering) as environment variables.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24495,7 +24447,6 @@ "cookies": false, "type": "", "demo": "sites\/get-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a variable by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24565,7 +24516,6 @@ "cookies": false, "type": "", "demo": "sites\/update-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate variable by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24662,7 +24612,6 @@ "cookies": false, "type": "", "demo": "sites\/delete-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a variable by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24732,7 +24681,6 @@ "cookies": false, "type": "", "demo": "storage\/list-buckets.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-buckets.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24743,6 +24691,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-buckets.md", "auth": { "Project": [], "Key": [] @@ -24816,7 +24765,6 @@ "cookies": false, "type": "", "demo": "storage\/create-bucket.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-bucket.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24827,6 +24775,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-bucket.md", "auth": { "Project": [], "Key": [] @@ -24963,7 +24912,6 @@ "cookies": false, "type": "", "demo": "storage\/get-bucket.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-bucket.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24974,6 +24922,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-bucket.md", "auth": { "Project": [], "Key": [] @@ -25025,7 +24974,6 @@ "cookies": false, "type": "", "demo": "storage\/update-bucket.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/update-bucket.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25036,6 +24984,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/update-bucket.md", "auth": { "Project": [], "Key": [] @@ -25168,7 +25117,6 @@ "cookies": false, "type": "", "demo": "storage\/delete-bucket.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/delete-bucket.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25179,6 +25127,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/delete-bucket.md", "auth": { "Project": [], "Key": [] @@ -25230,7 +25179,6 @@ "cookies": false, "type": "", "demo": "storage\/list-files.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-files.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25242,6 +25190,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-files.md", "auth": { "Project": [], "Session": [] @@ -25325,7 +25274,6 @@ "cookies": false, "type": "upload", "demo": "storage\/create-file.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-file.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId},chunkId:{chunkId}", @@ -25337,6 +25285,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-file.md", "auth": { "Project": [], "Session": [] @@ -25418,7 +25367,6 @@ "cookies": false, "type": "", "demo": "storage\/get-file.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25430,6 +25378,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file.md", "auth": { "Project": [], "Session": [] @@ -25491,7 +25440,6 @@ "cookies": false, "type": "", "demo": "storage\/update-file.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/update-file.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -25503,6 +25451,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/update-file.md", "auth": { "Project": [], "Session": [] @@ -25585,7 +25534,6 @@ "cookies": false, "type": "", "demo": "storage\/delete-file.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/delete-file.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -25597,6 +25545,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/delete-file.md", "auth": { "Project": [], "Session": [] @@ -25658,7 +25607,6 @@ "cookies": false, "type": "location", "demo": "storage\/get-file-download.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-download.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25670,6 +25618,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-download.md", "auth": { "Project": [], "Session": [] @@ -25740,7 +25689,6 @@ "cookies": false, "type": "location", "demo": "storage\/get-file-preview.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-preview.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25752,6 +25700,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-preview.md", "auth": { "Project": [], "Session": [] @@ -25950,7 +25899,6 @@ "cookies": false, "type": "location", "demo": "storage\/get-file-view.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-view.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25962,6 +25910,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-view.md", "auth": { "Project": [], "Session": [] @@ -26032,7 +25981,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26043,6 +25991,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list.md", "auth": { "Project": [], "Key": [] @@ -26116,7 +26065,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26127,6 +26075,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create.md", "auth": { "Project": [], "Key": [] @@ -26201,7 +26150,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-transactions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-transactions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26216,6 +26164,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-transactions.md", "auth": { "Project": [], "Key": [] @@ -26273,7 +26222,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26288,6 +26236,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-transaction.md", "auth": { "Project": [], "Key": [] @@ -26348,7 +26297,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26363,6 +26311,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-transaction.md", "auth": { "Project": [], "Key": [] @@ -26416,7 +26365,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26431,6 +26379,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-transaction.md", "auth": { "Project": [], "Key": [] @@ -26500,7 +26449,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26515,6 +26463,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-transaction.md", "auth": { "Project": [], "Key": [] @@ -26570,7 +26519,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-operations.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-operations.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26585,6 +26533,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-operations.md", "auth": { "Project": [], "Key": [] @@ -26656,7 +26605,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26667,6 +26615,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get.md", "auth": { "Project": [], "Key": [] @@ -26718,7 +26667,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26729,6 +26677,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update.md", "auth": { "Project": [], "Key": [] @@ -26799,7 +26748,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26810,6 +26758,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete.md", "auth": { "Project": [], "Key": [] @@ -26861,7 +26810,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-tables.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-tables.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26875,6 +26823,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-tables.md", "auth": { "Project": [], "Key": [] @@ -26956,7 +26905,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-table.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-table.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26970,6 +26918,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-table.md", "auth": { "Project": [], "Key": [] @@ -27086,7 +27035,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-table.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-table.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27100,6 +27048,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-table.md", "auth": { "Project": [], "Key": [] @@ -27159,7 +27108,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-table.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-table.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27173,6 +27121,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-table.md", "auth": { "Project": [], "Key": [] @@ -27267,7 +27216,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-table.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-table.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27281,6 +27229,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-table.md", "auth": { "Project": [], "Key": [] @@ -27340,7 +27289,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-columns.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-columns.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27354,6 +27302,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-columns.md", "auth": { "Project": [], "Key": [] @@ -27436,7 +27385,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-boolean-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-boolean-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27450,6 +27398,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-boolean-column.md", "auth": { "Project": [], "Key": [] @@ -27549,7 +27498,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-boolean-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-boolean-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27563,6 +27511,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-boolean-column.md", "auth": { "Project": [], "Key": [] @@ -27664,7 +27613,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-datetime-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-datetime-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27678,6 +27626,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-datetime-column.md", "auth": { "Project": [], "Key": [] @@ -27777,7 +27726,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-datetime-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-datetime-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27791,6 +27739,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-datetime-column.md", "auth": { "Project": [], "Key": [] @@ -27892,7 +27841,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-email-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-email-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27906,6 +27854,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-email-column.md", "auth": { "Project": [], "Key": [] @@ -28005,7 +27954,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-email-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-email-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28019,6 +27967,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-email-column.md", "auth": { "Project": [], "Key": [] @@ -28120,7 +28069,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-enum-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-enum-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28134,6 +28082,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-enum-column.md", "auth": { "Project": [], "Key": [] @@ -28243,7 +28192,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-enum-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-enum-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28257,6 +28205,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-enum-column.md", "auth": { "Project": [], "Key": [] @@ -28368,7 +28317,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-float-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-float-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28382,6 +28330,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-float-column.md", "auth": { "Project": [], "Key": [] @@ -28495,7 +28444,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-float-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-float-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28509,6 +28457,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-float-column.md", "auth": { "Project": [], "Key": [] @@ -28624,7 +28573,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-integer-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-integer-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28638,6 +28586,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-integer-column.md", "auth": { "Project": [], "Key": [] @@ -28751,7 +28700,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-integer-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-integer-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28765,6 +28713,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-integer-column.md", "auth": { "Project": [], "Key": [] @@ -28880,7 +28829,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-ip-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-ip-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28894,6 +28842,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-ip-column.md", "auth": { "Project": [], "Key": [] @@ -28993,7 +28942,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-ip-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-ip-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -29007,6 +28955,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-ip-column.md", "auth": { "Project": [], "Key": [] @@ -29108,7 +29057,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-line-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-line-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -29122,6 +29070,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-line-column.md", "auth": { "Project": [], "Key": [] @@ -29215,7 +29164,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-line-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-line-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -29229,6 +29177,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-line-column.md", "auth": { "Project": [], "Key": [] @@ -29329,7 +29278,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-point-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-point-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -29343,6 +29291,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-point-column.md", "auth": { "Project": [], "Key": [] @@ -29436,7 +29385,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-point-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-point-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -29450,6 +29398,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-point-column.md", "auth": { "Project": [], "Key": [] @@ -29550,7 +29499,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-polygon-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-polygon-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -29564,6 +29512,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-polygon-column.md", "auth": { "Project": [], "Key": [] @@ -29657,7 +29606,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-polygon-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-polygon-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -29671,6 +29619,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-polygon-column.md", "auth": { "Project": [], "Key": [] @@ -29771,7 +29720,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-relationship-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-relationship-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -29785,6 +29733,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-relationship-column.md", "auth": { "Project": [], "Key": [] @@ -29912,7 +29861,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-string-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-string-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -29926,6 +29874,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-string-column.md", "auth": { "Project": [], "Key": [] @@ -30038,7 +29987,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-string-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-string-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30052,6 +30000,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-string-column.md", "auth": { "Project": [], "Key": [] @@ -30160,7 +30109,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-url-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-url-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30174,6 +30122,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-url-column.md", "auth": { "Project": [], "Key": [] @@ -30273,7 +30222,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-url-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-url-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30287,6 +30235,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-url-column.md", "auth": { "Project": [], "Key": [] @@ -30417,7 +30366,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30431,6 +30379,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-column.md", "auth": { "Project": [], "Key": [] @@ -30492,7 +30441,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30506,6 +30454,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-column.md", "auth": { "Project": [], "Key": [] @@ -30574,7 +30523,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-relationship-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-relationship-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30588,6 +30536,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-relationship-column.md", "auth": { "Project": [], "Key": [] @@ -30684,7 +30633,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-indexes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-indexes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30698,6 +30646,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-indexes.md", "auth": { "Project": [], "Key": [] @@ -30778,7 +30727,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-index.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30792,6 +30740,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-index.md", "auth": { "Project": [], "Key": [] @@ -30918,7 +30867,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-index.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30932,6 +30880,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-index.md", "auth": { "Project": [], "Key": [] @@ -30993,7 +30942,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-index.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -31007,6 +30955,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-index.md", "auth": { "Project": [], "Key": [] @@ -31073,7 +31022,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-rows.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-rows.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -31088,6 +31036,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-rows.md", "auth": { "Project": [], "Session": [] @@ -31178,7 +31127,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-row.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -31193,6 +31141,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-row.md", "methods": [ { "name": "createRow", @@ -31364,7 +31313,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/upsert-rows.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/upsert-rows.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -31378,6 +31326,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/upsert-rows.md", "methods": [ { "name": "upsertRows", @@ -31496,7 +31445,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-rows.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-rows.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -31510,6 +31458,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-rows.md", "auth": { "Project": [], "Key": [] @@ -31600,7 +31549,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-rows.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-rows.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -31614,6 +31562,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-rows.md", "auth": { "Project": [], "Key": [] @@ -31698,7 +31647,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-row.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -31713,6 +31661,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-row.md", "auth": { "Project": [], "Session": [] @@ -31802,7 +31751,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/upsert-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/upsert-row.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -31817,6 +31765,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/upsert-row.md", "methods": [ { "name": "upsertRow", @@ -31951,7 +31900,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-row.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -31966,6 +31914,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-row.md", "auth": { "Project": [], "Session": [] @@ -32062,7 +32011,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-row.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -32077,6 +32025,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-row.md", "auth": { "Project": [], "Session": [] @@ -32164,7 +32113,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/decrement-row-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/decrement-row-column.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -32179,6 +32127,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/decrement-row-column.md", "auth": { "Project": [], "Session": [] @@ -32286,7 +32235,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/increment-row-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/increment-row-column.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -32301,6 +32249,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/increment-row-column.md", "auth": { "Project": [], "Session": [] @@ -32406,7 +32355,6 @@ "cookies": false, "type": "", "demo": "teams\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-teams.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32418,6 +32366,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-teams.md", "auth": { "Project": [], "Session": [] @@ -32493,7 +32442,6 @@ "cookies": false, "type": "", "demo": "teams\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32505,6 +32453,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team.md", "auth": { "Project": [], "Session": [] @@ -32586,7 +32535,6 @@ "cookies": false, "type": "", "demo": "teams\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32598,6 +32546,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team.md", "auth": { "Project": [], "Session": [] @@ -32651,7 +32600,6 @@ "cookies": false, "type": "", "demo": "teams\/update-name.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-name.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32663,6 +32611,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-name.md", "auth": { "Project": [], "Session": [] @@ -32729,7 +32678,6 @@ "cookies": false, "type": "", "demo": "teams\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32741,6 +32689,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team.md", "auth": { "Project": [], "Session": [] @@ -32794,7 +32743,6 @@ "cookies": false, "type": "", "demo": "teams\/list-memberships.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-team-members.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32806,6 +32754,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-team-members.md", "auth": { "Project": [], "Session": [] @@ -32889,7 +32838,6 @@ "cookies": false, "type": "", "demo": "teams\/create-membership.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team-membership.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32901,6 +32849,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team-membership.md", "auth": { "Project": [], "Session": [] @@ -33012,7 +32961,6 @@ "cookies": false, "type": "", "demo": "teams\/get-membership.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-member.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33024,6 +32972,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-member.md", "auth": { "Project": [], "Session": [] @@ -33085,7 +33034,6 @@ "cookies": false, "type": "", "demo": "teams\/update-membership.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33097,6 +33045,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership.md", "auth": { "Project": [], "Session": [] @@ -33181,7 +33130,6 @@ "cookies": false, "type": "", "demo": "teams\/delete-membership.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team-membership.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33193,6 +33141,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team-membership.md", "auth": { "Project": [], "Session": [] @@ -33256,7 +33205,6 @@ "cookies": false, "type": "", "demo": "teams\/update-membership-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33268,6 +33216,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership-status.md", "auth": { "Project": [], "Session": [] @@ -33353,7 +33302,6 @@ "cookies": false, "type": "", "demo": "teams\/get-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33365,6 +33313,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-prefs.md", "auth": { "Project": [], "Session": [] @@ -33417,7 +33366,6 @@ "cookies": false, "type": "", "demo": "teams\/update-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33429,6 +33377,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-prefs.md", "auth": { "Project": [], "Session": [] @@ -33499,7 +33448,6 @@ "cookies": false, "type": "", "demo": "tokens\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterList all the tokens created for a specific file or bucket. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33590,7 +33538,6 @@ "cookies": false, "type": "", "demo": "tokens\/create-file-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new token. A token is linked to a file. Token can be passed as a request URL search parameter.", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -33676,7 +33623,6 @@ "cookies": false, "type": "", "demo": "tokens\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a token by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33738,7 +33684,6 @@ "cookies": false, "type": "", "demo": "tokens\/update.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate a token by its unique ID. Use this endpoint to update a token's expiry date.", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -33811,7 +33756,6 @@ "cookies": false, "type": "", "demo": "tokens\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a token by its unique ID.", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -33873,7 +33817,6 @@ "cookies": false, "type": "", "demo": "users\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-users.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33884,6 +33827,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-users.md", "auth": { "Project": [], "Key": [] @@ -33957,7 +33901,6 @@ "cookies": false, "type": "", "demo": "users\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33968,6 +33911,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-user.md", "auth": { "Project": [], "Key": [] @@ -34057,7 +34001,6 @@ "cookies": false, "type": "", "demo": "users\/create-argon-2-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-argon2-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34068,6 +34011,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-argon2-user.md", "auth": { "Project": [], "Key": [] @@ -34151,7 +34095,6 @@ "cookies": false, "type": "", "demo": "users\/create-bcrypt-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-bcrypt-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34162,6 +34105,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-bcrypt-user.md", "auth": { "Project": [], "Key": [] @@ -34243,7 +34187,6 @@ "cookies": false, "type": "", "demo": "users\/list-identities.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-identities.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34254,6 +34197,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-identities.md", "auth": { "Project": [], "Key": [] @@ -34324,7 +34268,6 @@ "cookies": false, "type": "", "demo": "users\/delete-identity.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-identity.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34335,6 +34278,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-identity.md", "auth": { "Project": [], "Key": [] @@ -34388,7 +34332,6 @@ "cookies": false, "type": "", "demo": "users\/create-md-5-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-md5-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34399,6 +34342,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-md5-user.md", "auth": { "Project": [], "Key": [] @@ -34482,7 +34426,6 @@ "cookies": false, "type": "", "demo": "users\/create-ph-pass-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-phpass-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34493,6 +34436,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-phpass-user.md", "auth": { "Project": [], "Key": [] @@ -34576,7 +34520,6 @@ "cookies": false, "type": "", "demo": "users\/create-scrypt-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-scrypt-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34587,6 +34530,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-scrypt-user.md", "auth": { "Project": [], "Key": [] @@ -34705,7 +34649,6 @@ "cookies": false, "type": "", "demo": "users\/create-scrypt-modified-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-scrypt-modified-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34716,6 +34659,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-scrypt-modified-user.md", "auth": { "Project": [], "Key": [] @@ -34820,7 +34764,6 @@ "cookies": false, "type": "", "demo": "users\/create-sha-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-sha-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34831,6 +34774,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-sha-user.md", "auth": { "Project": [], "Key": [] @@ -34933,7 +34877,6 @@ "cookies": false, "type": "", "demo": "users\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34944,6 +34887,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user.md", "auth": { "Project": [], "Key": [] @@ -34990,7 +34934,6 @@ "cookies": false, "type": "", "demo": "users\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35001,6 +34944,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete.md", "auth": { "Project": [], "Key": [] @@ -35054,7 +34998,6 @@ "cookies": false, "type": "", "demo": "users\/update-email.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-email.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35065,6 +35008,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-email.md", "auth": { "Project": [], "Key": [] @@ -35136,7 +35080,6 @@ "cookies": false, "type": "", "demo": "users\/create-jwt.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-user-jwt.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35147,6 +35090,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-user-jwt.md", "auth": { "Project": [], "Key": [] @@ -35221,7 +35165,6 @@ "cookies": false, "type": "", "demo": "users\/update-labels.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-labels.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35232,6 +35175,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-labels.md", "auth": { "Project": [], "Key": [] @@ -35304,7 +35248,6 @@ "cookies": false, "type": "", "demo": "users\/list-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35315,6 +35258,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-logs.md", "auth": { "Project": [], "Key": [] @@ -35387,7 +35331,6 @@ "cookies": false, "type": "", "demo": "users\/list-memberships.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-memberships.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35398,6 +35341,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-memberships.md", "auth": { "Project": [], "Key": [] @@ -35481,7 +35425,6 @@ "cookies": false, "type": "", "demo": "users\/update-mfa.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-mfa.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35492,6 +35435,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-mfa.md", "deprecated": { "since": "1.8.0", "replaceWith": "users.updateMFA" @@ -35620,7 +35564,6 @@ "cookies": false, "type": "", "demo": "users\/delete-mfa-authenticator.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-mfa-authenticator.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35631,6 +35574,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-mfa-authenticator.md", "deprecated": { "since": "1.8.0", "replaceWith": "users.deleteMFAAuthenticator" @@ -35755,7 +35699,6 @@ "cookies": false, "type": "", "demo": "users\/list-mfa-factors.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-mfa-factors.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35766,6 +35709,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-mfa-factors.md", "deprecated": { "since": "1.8.0", "replaceWith": "users.listMFAFactors" @@ -35875,7 +35819,6 @@ "cookies": false, "type": "", "demo": "users\/get-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35886,6 +35829,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "users.getMFARecoveryCodes" @@ -35995,7 +35939,6 @@ "cookies": false, "type": "", "demo": "users\/update-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36006,6 +35949,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "users.updateMFARecoveryCodes" @@ -36115,7 +36059,6 @@ "cookies": false, "type": "", "demo": "users\/create-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36126,6 +36069,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "users.createMFARecoveryCodes" @@ -36237,7 +36181,6 @@ "cookies": false, "type": "", "demo": "users\/update-name.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-name.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36248,6 +36191,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-name.md", "auth": { "Project": [], "Key": [] @@ -36319,7 +36263,6 @@ "cookies": false, "type": "", "demo": "users\/update-password.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-password.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36330,6 +36273,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-password.md", "auth": { "Project": [], "Key": [] @@ -36401,7 +36345,6 @@ "cookies": false, "type": "", "demo": "users\/update-phone.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-phone.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36412,6 +36355,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-phone.md", "auth": { "Project": [], "Key": [] @@ -36481,7 +36425,6 @@ "cookies": false, "type": "", "demo": "users\/get-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36492,6 +36435,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user-prefs.md", "auth": { "Project": [], "Key": [] @@ -36543,7 +36487,6 @@ "cookies": false, "type": "", "demo": "users\/update-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36554,6 +36497,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-prefs.md", "auth": { "Project": [], "Key": [] @@ -36623,7 +36567,6 @@ "cookies": false, "type": "", "demo": "users\/list-sessions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-sessions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36634,6 +36577,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-sessions.md", "auth": { "Project": [], "Key": [] @@ -36694,7 +36638,6 @@ "cookies": false, "type": "", "demo": "users\/create-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-session.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36705,6 +36648,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-session.md", "auth": { "Project": [], "Key": [] @@ -36751,7 +36695,6 @@ "cookies": false, "type": "", "demo": "users\/delete-sessions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-user-sessions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36762,6 +36705,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-user-sessions.md", "auth": { "Project": [], "Key": [] @@ -36810,7 +36754,6 @@ "cookies": false, "type": "", "demo": "users\/delete-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-user-session.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36821,6 +36764,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-user-session.md", "auth": { "Project": [], "Key": [] @@ -36882,7 +36826,6 @@ "cookies": false, "type": "", "demo": "users\/update-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36893,6 +36836,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-status.md", "auth": { "Project": [], "Key": [] @@ -36962,7 +36906,6 @@ "cookies": false, "type": "", "demo": "users\/list-targets.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-targets.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36973,6 +36916,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-targets.md", "auth": { "Project": [], "Key": [] @@ -37045,7 +36989,6 @@ "cookies": false, "type": "", "demo": "users\/create-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37056,6 +36999,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-target.md", "auth": { "Project": [], "Key": [] @@ -37158,7 +37102,6 @@ "cookies": false, "type": "", "demo": "users\/get-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37169,6 +37112,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user-target.md", "auth": { "Project": [], "Key": [] @@ -37228,7 +37172,6 @@ "cookies": false, "type": "", "demo": "users\/update-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37239,6 +37182,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-target.md", "auth": { "Project": [], "Key": [] @@ -37320,7 +37264,6 @@ "cookies": false, "type": "", "demo": "users\/delete-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37331,6 +37274,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-target.md", "auth": { "Project": [], "Key": [] @@ -37392,7 +37336,6 @@ "cookies": false, "type": "", "demo": "users\/create-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-token.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37403,6 +37346,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-token.md", "auth": { "Project": [], "Key": [] @@ -37477,7 +37421,6 @@ "cookies": false, "type": "", "demo": "users\/update-email-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-email-verification.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37488,6 +37431,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-email-verification.md", "auth": { "Project": [], "Key": [] @@ -37559,7 +37503,6 @@ "cookies": false, "type": "", "demo": "users\/update-phone-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-phone-verification.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37570,6 +37513,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-phone-verification.md", "auth": { "Project": [], "Key": [] diff --git a/app/config/specs/swagger2-latest-client.json b/app/config/specs/swagger2-latest-client.json index 823c0ea134..ad85f3879e 100644 --- a/app/config/specs/swagger2-latest-client.json +++ b/app/config/specs/swagger2-latest-client.json @@ -98,7 +98,6 @@ "cookies": false, "type": "", "demo": "account\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -110,6 +109,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get.md", "auth": { "Project": [] } @@ -151,7 +151,6 @@ "cookies": false, "type": "", "demo": "account\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -163,6 +162,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create.md", "auth": { "Project": [] } @@ -246,7 +246,6 @@ "cookies": false, "type": "", "demo": "account\/update-email.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-email.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -258,6 +257,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-email.md", "auth": { "Project": [] } @@ -326,7 +326,6 @@ "cookies": false, "type": "", "demo": "account\/list-identities.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-identities.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -338,6 +337,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-identities.md", "auth": { "Project": [] } @@ -399,7 +399,6 @@ "cookies": false, "type": "", "demo": "account\/delete-identity.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-identity.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -411,6 +410,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-identity.md", "auth": { "Project": [] } @@ -464,7 +464,6 @@ "cookies": false, "type": "", "demo": "account\/create-jwt.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-jwt.md", "rate-limit": 100, "rate-time": 3600, "rate-key": "url:{url},userId:{userId}", @@ -476,6 +475,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-jwt.md", "auth": { "Project": [] } @@ -517,7 +517,6 @@ "cookies": false, "type": "", "demo": "account\/list-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -529,6 +528,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-logs.md", "auth": { "Project": [] } @@ -595,7 +595,6 @@ "cookies": false, "type": "", "demo": "account\/update-mfa.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -607,6 +606,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa.md", "auth": { "Project": [] } @@ -670,7 +670,6 @@ "cookies": false, "type": "", "demo": "account\/create-mfa-authenticator.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-authenticator.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -682,6 +681,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-authenticator.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.createMFAAuthenticator" @@ -794,7 +794,6 @@ "cookies": false, "type": "", "demo": "account\/update-mfa-authenticator.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-authenticator.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -806,6 +805,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-authenticator.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.updateMFAAuthenticator" @@ -935,7 +935,6 @@ "cookies": false, "type": "", "demo": "account\/delete-mfa-authenticator.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-mfa-authenticator.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -947,6 +946,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-mfa-authenticator.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.deleteMFAAuthenticator" @@ -1059,7 +1059,6 @@ "cookies": false, "type": "", "demo": "account\/create-mfa-challenge.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-challenge.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},userId:{userId}", @@ -1071,6 +1070,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-challenge.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.createMFAChallenge" @@ -1196,7 +1196,6 @@ "cookies": false, "type": "", "demo": "account\/update-mfa-challenge.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-challenge.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},challengeId:{param-challengeId}", @@ -1208,6 +1207,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-challenge.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.updateMFAChallenge" @@ -1336,7 +1336,6 @@ "cookies": false, "type": "", "demo": "account\/list-mfa-factors.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-mfa-factors.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1348,6 +1347,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-mfa-factors.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.listMFAFactors" @@ -1437,7 +1437,6 @@ "cookies": false, "type": "", "demo": "account\/get-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1449,6 +1448,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.getMFARecoveryCodes" @@ -1538,7 +1538,6 @@ "cookies": false, "type": "", "demo": "account\/create-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1550,6 +1549,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.createMFARecoveryCodes" @@ -1639,7 +1639,6 @@ "cookies": false, "type": "", "demo": "account\/update-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1651,6 +1650,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.updateMFARecoveryCodes" @@ -1742,7 +1742,6 @@ "cookies": false, "type": "", "demo": "account\/update-name.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-name.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1754,6 +1753,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-name.md", "auth": { "Project": [] } @@ -1817,7 +1817,6 @@ "cookies": false, "type": "", "demo": "account\/update-password.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-password.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1829,6 +1828,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-password.md", "auth": { "Project": [] } @@ -1898,7 +1898,6 @@ "cookies": false, "type": "", "demo": "account\/update-phone.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-phone.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1910,6 +1909,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-phone.md", "auth": { "Project": [] } @@ -1978,7 +1978,6 @@ "cookies": false, "type": "", "demo": "account\/get-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1990,6 +1989,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-prefs.md", "auth": { "Project": [] } @@ -2031,7 +2031,6 @@ "cookies": false, "type": "", "demo": "account\/update-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2043,6 +2042,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-prefs.md", "auth": { "Project": [] } @@ -2106,7 +2106,6 @@ "cookies": false, "type": "", "demo": "account\/create-recovery.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-recovery.md", "rate-limit": 10, "rate-time": 3600, "rate-key": [ @@ -2121,6 +2120,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-recovery.md", "auth": { "Project": [] } @@ -2189,7 +2189,6 @@ "cookies": false, "type": "", "demo": "account\/update-recovery.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-recovery.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},userId:{param-userId}", @@ -2201,6 +2200,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-recovery.md", "auth": { "Project": [] } @@ -2276,7 +2276,6 @@ "cookies": false, "type": "", "demo": "account\/list-sessions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-sessions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2288,6 +2287,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-sessions.md", "auth": { "Project": [] } @@ -2324,7 +2324,6 @@ "cookies": false, "type": "", "demo": "account\/delete-sessions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-sessions.md", "rate-limit": 100, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2336,6 +2335,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-sessions.md", "auth": { "Project": [] } @@ -2379,7 +2379,6 @@ "cookies": false, "type": "", "demo": "account\/create-anonymous-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-anonymous.md", "rate-limit": 50, "rate-time": 3600, "rate-key": "ip:{ip}", @@ -2391,6 +2390,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-anonymous.md", "auth": { "Project": [] } @@ -2434,7 +2434,6 @@ "cookies": false, "type": "", "demo": "account\/create-email-password-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-email-password.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},email:{param-email}", @@ -2446,6 +2445,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-email-password.md", "auth": { "Project": [] } @@ -2516,7 +2516,6 @@ "cookies": false, "type": "", "demo": "account\/update-magic-url-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "ip:{ip},userId:{param-userId}", @@ -2528,6 +2527,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "deprecated": { "since": "1.6.0", "replaceWith": "account.createSession" @@ -2597,7 +2597,6 @@ "cookies": false, "type": "webAuth", "demo": "account\/create-o-auth-2-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-oauth2.md", "rate-limit": 50, "rate-time": 3600, "rate-key": "ip:{ip}", @@ -2609,6 +2608,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-oauth2.md", "auth": { "Project": [] } @@ -2738,7 +2738,6 @@ "cookies": false, "type": "", "demo": "account\/update-phone-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "ip:{ip},userId:{param-userId}", @@ -2750,6 +2749,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "deprecated": { "since": "1.6.0", "replaceWith": "account.createSession" @@ -2824,7 +2824,6 @@ "cookies": false, "type": "", "demo": "account\/create-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "ip:{ip},userId:{param-userId}", @@ -2836,6 +2835,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "auth": { "Project": [] } @@ -2904,7 +2904,6 @@ "cookies": false, "type": "", "demo": "account\/get-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-session.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2916,6 +2915,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-session.md", "auth": { "Project": [] } @@ -2967,7 +2967,6 @@ "cookies": false, "type": "", "demo": "account\/update-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-session.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2979,6 +2978,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-session.md", "auth": { "Project": [] } @@ -3025,7 +3025,6 @@ "cookies": false, "type": "", "demo": "account\/delete-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-session.md", "rate-limit": 100, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -3037,6 +3036,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-session.md", "auth": { "Project": [] } @@ -3090,7 +3090,6 @@ "cookies": false, "type": "", "demo": "account\/update-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -3102,6 +3101,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-status.md", "auth": { "Project": [] } @@ -3145,7 +3145,6 @@ "cookies": false, "type": "", "demo": "account\/create-push-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-push-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -3156,6 +3155,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-push-target.md", "auth": { "Project": [] } @@ -3231,7 +3231,6 @@ "cookies": false, "type": "", "demo": "account\/update-push-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-push-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -3242,6 +3241,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-push-target.md", "auth": { "Project": [] } @@ -3305,7 +3305,6 @@ "cookies": false, "type": "", "demo": "account\/delete-push-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-push-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -3316,6 +3315,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-push-target.md", "auth": { "Project": [] } @@ -3368,7 +3368,6 @@ "cookies": false, "type": "", "demo": "account\/create-email-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-email.md", "rate-limit": 10, "rate-time": 3600, "rate-key": [ @@ -3383,6 +3382,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-email.md", "auth": { "Project": [] } @@ -3459,7 +3459,6 @@ "cookies": false, "type": "", "demo": "account\/create-magic-url-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-magic-url.md", "rate-limit": 60, "rate-time": 3600, "rate-key": [ @@ -3474,6 +3473,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-magic-url.md", "auth": { "Project": [] } @@ -3551,7 +3551,6 @@ "cookies": false, "type": "webAuth", "demo": "account\/create-o-auth-2-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-oauth2.md", "rate-limit": 50, "rate-time": 3600, "rate-key": "ip:{ip}", @@ -3563,6 +3562,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-oauth2.md", "auth": { "Project": [] } @@ -3692,7 +3692,6 @@ "cookies": false, "type": "", "demo": "account\/create-phone-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-phone.md", "rate-limit": 10, "rate-time": 3600, "rate-key": [ @@ -3707,6 +3706,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-phone.md", "auth": { "Project": [] } @@ -3777,7 +3777,6 @@ "cookies": false, "type": "", "demo": "account\/create-email-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-email-verification.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},userId:{userId}", @@ -3789,6 +3788,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-email-verification.md", "methods": [ { "name": "createEmailVerification", @@ -3902,7 +3902,6 @@ "cookies": false, "type": "", "demo": "account\/update-email-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-email-verification.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},userId:{param-userId}", @@ -3914,6 +3913,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-email-verification.md", "methods": [ { "name": "updateEmailVerification", @@ -4040,7 +4040,6 @@ "cookies": false, "type": "", "demo": "account\/create-phone-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-phone-verification.md", "rate-limit": 10, "rate-time": 3600, "rate-key": [ @@ -4055,6 +4054,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-phone-verification.md", "auth": { "Project": [] } @@ -4096,7 +4096,6 @@ "cookies": false, "type": "", "demo": "account\/update-phone-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-phone-verification.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "userId:{param-userId}", @@ -4108,6 +4107,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-phone-verification.md", "auth": { "Project": [] } @@ -4176,7 +4176,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-browser.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-browser.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4188,6 +4187,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-browser.md", "auth": { "Project": [] } @@ -4302,7 +4302,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-credit-card.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-credit-card.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4314,6 +4313,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-credit-card.md", "auth": { "Project": [] } @@ -4434,7 +4434,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-favicon.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-favicon.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4446,6 +4445,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-favicon.md", "auth": { "Project": [] } @@ -4498,7 +4498,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-flag.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-flag.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4510,6 +4509,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-flag.md", "auth": { "Project": [] } @@ -4986,7 +4986,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-image.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-image.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4998,6 +4997,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-image.md", "auth": { "Project": [] } @@ -5070,7 +5070,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-initials.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-initials.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -5082,6 +5081,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-initials.md", "auth": { "Project": [] } @@ -5162,7 +5162,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-qr.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-qr.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -5174,6 +5173,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-qr.md", "auth": { "Project": [] } @@ -5254,7 +5254,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-screenshot.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-screenshot.md", "rate-limit": 60, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -5266,6 +5265,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-screenshot.md", "auth": { "Project": [] } @@ -5967,7 +5967,6 @@ "cookies": false, "type": "", "demo": "databases\/list-transactions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-transactions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -5979,6 +5978,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-transactions.md", "auth": { "Project": [] } @@ -6034,7 +6034,6 @@ "cookies": false, "type": "", "demo": "databases\/create-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6046,6 +6045,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-transaction.md", "auth": { "Project": [] } @@ -6104,7 +6104,6 @@ "cookies": false, "type": "", "demo": "databases\/get-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6116,6 +6115,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-transaction.md", "auth": { "Project": [] } @@ -6167,7 +6167,6 @@ "cookies": false, "type": "", "demo": "databases\/update-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6179,6 +6178,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-transaction.md", "auth": { "Project": [] } @@ -6246,7 +6246,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6258,6 +6257,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-transaction.md", "auth": { "Project": [] } @@ -6311,7 +6311,6 @@ "cookies": false, "type": "", "demo": "databases\/create-operations.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-operations.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6323,6 +6322,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-operations.md", "auth": { "Project": [] } @@ -6392,7 +6392,6 @@ "cookies": false, "type": "", "demo": "databases\/list-documents.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-documents.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6404,6 +6403,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-documents.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.listRows" @@ -6496,7 +6496,6 @@ "cookies": false, "type": "", "demo": "databases\/create-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-document.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -6508,6 +6507,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createRow" @@ -6655,7 +6655,6 @@ "cookies": false, "type": "", "demo": "databases\/get-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-document.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6667,6 +6666,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.getRow" @@ -6758,7 +6758,6 @@ "cookies": false, "type": "", "demo": "databases\/upsert-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-document.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -6770,6 +6769,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.upsertRow" @@ -6913,7 +6913,6 @@ "cookies": false, "type": "", "demo": "databases\/update-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-document.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -6925,6 +6924,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateRow" @@ -7023,7 +7023,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-document.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -7035,6 +7034,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.deleteRow" @@ -7124,7 +7124,6 @@ "cookies": false, "type": "", "demo": "databases\/decrement-document-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/decrement-document-attribute.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -7136,6 +7135,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/decrement-document-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.decrementRowColumn" @@ -7245,7 +7245,6 @@ "cookies": false, "type": "", "demo": "databases\/increment-document-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/increment-document-attribute.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -7257,6 +7256,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/increment-document-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.incrementRowColumn" @@ -7364,7 +7364,6 @@ "cookies": false, "type": "", "demo": "functions\/list-executions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all the current user function execution logs. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7448,7 +7447,6 @@ "cookies": false, "type": "", "demo": "functions\/create-execution.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterTrigger a function execution. The returned object will return you the current execution status. You can ping the `Get Execution` endpoint to get updates on the current execution status. Once this endpoint is called, your function execution process will start asynchronously.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7568,7 +7566,6 @@ "cookies": false, "type": "", "demo": "functions\/get-execution.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a function execution log by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7641,7 +7638,6 @@ "cookies": false, "type": "graphql", "demo": "graphql\/query.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "rate-limit": 60, "rate-time": 60, "rate-key": "url:{url},ip:{ip}", @@ -7653,6 +7649,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "auth": { "Project": [] } @@ -7716,7 +7713,6 @@ "cookies": false, "type": "graphql", "demo": "graphql\/mutation.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "rate-limit": 60, "rate-time": 60, "rate-key": "url:{url},ip:{ip}", @@ -7728,6 +7724,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "auth": { "Project": [] } @@ -7789,7 +7786,6 @@ "cookies": false, "type": "", "demo": "locale\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/get-locale.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7801,6 +7797,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/get-locale.md", "auth": { "Project": [] } @@ -7842,7 +7839,6 @@ "cookies": false, "type": "", "demo": "locale\/list-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-locale-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7854,6 +7850,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-locale-codes.md", "auth": { "Project": [] } @@ -7895,7 +7892,6 @@ "cookies": false, "type": "", "demo": "locale\/list-continents.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-continents.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7907,6 +7903,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-continents.md", "auth": { "Project": [] } @@ -7948,7 +7945,6 @@ "cookies": false, "type": "", "demo": "locale\/list-countries.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7960,6 +7956,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries.md", "auth": { "Project": [] } @@ -8001,7 +7998,6 @@ "cookies": false, "type": "", "demo": "locale\/list-countries-eu.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-eu.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8013,6 +8009,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-eu.md", "auth": { "Project": [] } @@ -8054,7 +8051,6 @@ "cookies": false, "type": "", "demo": "locale\/list-countries-phones.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-phones.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8066,6 +8062,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-phones.md", "auth": { "Project": [] } @@ -8107,7 +8104,6 @@ "cookies": false, "type": "", "demo": "locale\/list-currencies.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-currencies.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8119,6 +8115,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-currencies.md", "auth": { "Project": [] } @@ -8160,7 +8157,6 @@ "cookies": false, "type": "", "demo": "locale\/list-languages.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-languages.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8172,6 +8168,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-languages.md", "auth": { "Project": [] } @@ -8215,7 +8212,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-subscriber.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-subscriber.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8227,6 +8223,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-subscriber.md", "auth": { "Project": [] } @@ -8300,7 +8297,6 @@ "cookies": false, "type": "", "demo": "messaging\/delete-subscriber.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-subscriber.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8312,6 +8308,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-subscriber.md", "auth": { "Project": [] } @@ -8371,7 +8368,6 @@ "cookies": false, "type": "", "demo": "storage\/list-files.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-files.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8383,6 +8379,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-files.md", "auth": { "Project": [] } @@ -8464,7 +8461,6 @@ "cookies": false, "type": "upload", "demo": "storage\/create-file.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-file.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId},chunkId:{chunkId}", @@ -8476,6 +8472,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-file.md", "auth": { "Project": [] } @@ -8555,7 +8552,6 @@ "cookies": false, "type": "", "demo": "storage\/get-file.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8567,6 +8563,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file.md", "auth": { "Project": [] } @@ -8626,7 +8623,6 @@ "cookies": false, "type": "", "demo": "storage\/update-file.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/update-file.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -8638,6 +8634,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/update-file.md", "auth": { "Project": [] } @@ -8718,7 +8715,6 @@ "cookies": false, "type": "", "demo": "storage\/delete-file.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/delete-file.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -8730,6 +8726,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/delete-file.md", "auth": { "Project": [] } @@ -8789,7 +8786,6 @@ "cookies": false, "type": "location", "demo": "storage\/get-file-download.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-download.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8801,6 +8797,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-download.md", "auth": { "Project": [] } @@ -8869,7 +8866,6 @@ "cookies": false, "type": "location", "demo": "storage\/get-file-preview.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-preview.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8881,6 +8877,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-preview.md", "auth": { "Project": [] } @@ -9077,7 +9074,6 @@ "cookies": false, "type": "location", "demo": "storage\/get-file-view.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-view.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9089,6 +9085,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-view.md", "auth": { "Project": [] } @@ -9157,7 +9154,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-transactions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-transactions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9172,6 +9168,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-transactions.md", "auth": { "Project": [] } @@ -9227,7 +9224,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9242,6 +9238,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-transaction.md", "auth": { "Project": [] } @@ -9300,7 +9297,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9315,6 +9311,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-transaction.md", "auth": { "Project": [] } @@ -9366,7 +9363,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9381,6 +9377,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-transaction.md", "auth": { "Project": [] } @@ -9448,7 +9445,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9463,6 +9459,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-transaction.md", "auth": { "Project": [] } @@ -9516,7 +9513,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-operations.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-operations.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9531,6 +9527,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-operations.md", "auth": { "Project": [] } @@ -9600,7 +9597,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-rows.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-rows.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9615,6 +9611,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-rows.md", "auth": { "Project": [] } @@ -9703,7 +9700,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-row.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -9718,6 +9714,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-row.md", "methods": [ { "name": "createRow", @@ -9857,7 +9854,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-row.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9872,6 +9868,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-row.md", "auth": { "Project": [] } @@ -9959,7 +9956,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/upsert-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/upsert-row.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -9974,6 +9970,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/upsert-row.md", "methods": [ { "name": "upsertRow", @@ -10105,7 +10102,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-row.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -10120,6 +10116,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-row.md", "auth": { "Project": [] } @@ -10214,7 +10211,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-row.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -10229,6 +10225,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-row.md", "auth": { "Project": [] } @@ -10314,7 +10311,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/decrement-row-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/decrement-row-column.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -10329,6 +10325,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/decrement-row-column.md", "auth": { "Project": [] } @@ -10434,7 +10431,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/increment-row-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/increment-row-column.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -10449,6 +10445,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/increment-row-column.md", "auth": { "Project": [] } @@ -10552,7 +10549,6 @@ "cookies": false, "type": "", "demo": "teams\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-teams.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10564,6 +10560,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-teams.md", "auth": { "Project": [] } @@ -10637,7 +10634,6 @@ "cookies": false, "type": "", "demo": "teams\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10649,6 +10645,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team.md", "auth": { "Project": [] } @@ -10728,7 +10725,6 @@ "cookies": false, "type": "", "demo": "teams\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10740,6 +10736,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team.md", "auth": { "Project": [] } @@ -10791,7 +10788,6 @@ "cookies": false, "type": "", "demo": "teams\/update-name.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-name.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10803,6 +10799,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-name.md", "auth": { "Project": [] } @@ -10867,7 +10864,6 @@ "cookies": false, "type": "", "demo": "teams\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10879,6 +10875,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team.md", "auth": { "Project": [] } @@ -10930,7 +10927,6 @@ "cookies": false, "type": "", "demo": "teams\/list-memberships.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-team-members.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10942,6 +10938,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-team-members.md", "auth": { "Project": [] } @@ -11023,7 +11020,6 @@ "cookies": false, "type": "", "demo": "teams\/create-membership.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team-membership.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -11035,6 +11031,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team-membership.md", "auth": { "Project": [] } @@ -11144,7 +11141,6 @@ "cookies": false, "type": "", "demo": "teams\/get-membership.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-member.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -11156,6 +11152,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-member.md", "auth": { "Project": [] } @@ -11215,7 +11212,6 @@ "cookies": false, "type": "", "demo": "teams\/update-membership.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -11227,6 +11223,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership.md", "auth": { "Project": [] } @@ -11309,7 +11306,6 @@ "cookies": false, "type": "", "demo": "teams\/delete-membership.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team-membership.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -11321,6 +11317,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team-membership.md", "auth": { "Project": [] } @@ -11382,7 +11379,6 @@ "cookies": false, "type": "", "demo": "teams\/update-membership-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -11394,6 +11390,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership-status.md", "auth": { "Project": [] } @@ -11478,7 +11475,6 @@ "cookies": false, "type": "", "demo": "teams\/get-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -11490,6 +11486,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-prefs.md", "auth": { "Project": [] } @@ -11541,7 +11538,6 @@ "cookies": false, "type": "", "demo": "teams\/update-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -11553,6 +11549,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-prefs.md", "auth": { "Project": [] } diff --git a/app/config/specs/swagger2-latest-console.json b/app/config/specs/swagger2-latest-console.json index d846b05dff..589a6d57b5 100644 --- a/app/config/specs/swagger2-latest-console.json +++ b/app/config/specs/swagger2-latest-console.json @@ -104,7 +104,6 @@ "cookies": false, "type": "", "demo": "account\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -116,6 +115,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get.md", "auth": { "Project": [] } @@ -156,7 +156,6 @@ "cookies": false, "type": "", "demo": "account\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -168,6 +167,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create.md", "auth": { "Project": [] } @@ -243,7 +243,6 @@ "cookies": false, "type": "", "demo": "account\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -253,6 +252,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete.md", "auth": { "Project": [] } @@ -294,7 +294,6 @@ "cookies": false, "type": "", "demo": "account\/update-email.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-email.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -306,6 +305,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-email.md", "auth": { "Project": [] } @@ -373,7 +373,6 @@ "cookies": false, "type": "", "demo": "account\/list-identities.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-identities.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -385,6 +384,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-identities.md", "auth": { "Project": [] } @@ -445,7 +445,6 @@ "cookies": false, "type": "", "demo": "account\/delete-identity.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-identity.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -457,6 +456,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-identity.md", "auth": { "Project": [] } @@ -509,7 +509,6 @@ "cookies": false, "type": "", "demo": "account\/create-jwt.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-jwt.md", "rate-limit": 100, "rate-time": 3600, "rate-key": "url:{url},userId:{userId}", @@ -521,6 +520,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-jwt.md", "auth": { "Project": [] } @@ -561,7 +561,6 @@ "cookies": false, "type": "", "demo": "account\/list-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -573,6 +572,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-logs.md", "auth": { "Project": [] } @@ -638,7 +638,6 @@ "cookies": false, "type": "", "demo": "account\/update-mfa.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -650,6 +649,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa.md", "auth": { "Project": [] } @@ -712,7 +712,6 @@ "cookies": false, "type": "", "demo": "account\/create-mfa-authenticator.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-authenticator.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -724,6 +723,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-authenticator.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.createMFAAuthenticator" @@ -835,7 +835,6 @@ "cookies": false, "type": "", "demo": "account\/update-mfa-authenticator.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-authenticator.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -847,6 +846,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-authenticator.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.updateMFAAuthenticator" @@ -975,7 +975,6 @@ "cookies": false, "type": "", "demo": "account\/delete-mfa-authenticator.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-mfa-authenticator.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -987,6 +986,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-mfa-authenticator.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.deleteMFAAuthenticator" @@ -1098,7 +1098,6 @@ "cookies": false, "type": "", "demo": "account\/create-mfa-challenge.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-challenge.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},userId:{userId}", @@ -1110,6 +1109,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-challenge.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.createMFAChallenge" @@ -1234,7 +1234,6 @@ "cookies": false, "type": "", "demo": "account\/update-mfa-challenge.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-challenge.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},challengeId:{param-challengeId}", @@ -1246,6 +1245,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-challenge.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.updateMFAChallenge" @@ -1373,7 +1373,6 @@ "cookies": false, "type": "", "demo": "account\/list-mfa-factors.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-mfa-factors.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1385,6 +1384,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-mfa-factors.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.listMFAFactors" @@ -1473,7 +1473,6 @@ "cookies": false, "type": "", "demo": "account\/get-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1485,6 +1484,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.getMFARecoveryCodes" @@ -1573,7 +1573,6 @@ "cookies": false, "type": "", "demo": "account\/create-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1585,6 +1584,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.createMFARecoveryCodes" @@ -1673,7 +1673,6 @@ "cookies": false, "type": "", "demo": "account\/update-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1685,6 +1684,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.updateMFARecoveryCodes" @@ -1775,7 +1775,6 @@ "cookies": false, "type": "", "demo": "account\/update-name.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-name.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1787,6 +1786,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-name.md", "auth": { "Project": [] } @@ -1849,7 +1849,6 @@ "cookies": false, "type": "", "demo": "account\/update-password.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-password.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1861,6 +1860,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-password.md", "auth": { "Project": [] } @@ -1929,7 +1929,6 @@ "cookies": false, "type": "", "demo": "account\/update-phone.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-phone.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1941,6 +1940,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-phone.md", "auth": { "Project": [] } @@ -2008,7 +2008,6 @@ "cookies": false, "type": "", "demo": "account\/get-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2020,6 +2019,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-prefs.md", "auth": { "Project": [] } @@ -2060,7 +2060,6 @@ "cookies": false, "type": "", "demo": "account\/update-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2072,6 +2071,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-prefs.md", "auth": { "Project": [] } @@ -2134,7 +2134,6 @@ "cookies": false, "type": "", "demo": "account\/create-recovery.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-recovery.md", "rate-limit": 10, "rate-time": 3600, "rate-key": [ @@ -2149,6 +2148,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-recovery.md", "auth": { "Project": [] } @@ -2216,7 +2216,6 @@ "cookies": false, "type": "", "demo": "account\/update-recovery.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-recovery.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},userId:{param-userId}", @@ -2228,6 +2227,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-recovery.md", "auth": { "Project": [] } @@ -2302,7 +2302,6 @@ "cookies": false, "type": "", "demo": "account\/list-sessions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-sessions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2314,6 +2313,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-sessions.md", "auth": { "Project": [] } @@ -2349,7 +2349,6 @@ "cookies": false, "type": "", "demo": "account\/delete-sessions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-sessions.md", "rate-limit": 100, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2361,6 +2360,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-sessions.md", "auth": { "Project": [] } @@ -2403,7 +2403,6 @@ "cookies": false, "type": "", "demo": "account\/create-anonymous-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-anonymous.md", "rate-limit": 50, "rate-time": 3600, "rate-key": "ip:{ip}", @@ -2415,6 +2414,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-anonymous.md", "auth": { "Project": [] } @@ -2457,7 +2457,6 @@ "cookies": false, "type": "", "demo": "account\/create-email-password-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-email-password.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},email:{param-email}", @@ -2469,6 +2468,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-email-password.md", "auth": { "Project": [] } @@ -2538,7 +2538,6 @@ "cookies": false, "type": "", "demo": "account\/update-magic-url-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "ip:{ip},userId:{param-userId}", @@ -2550,6 +2549,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "deprecated": { "since": "1.6.0", "replaceWith": "account.createSession" @@ -2618,7 +2618,6 @@ "cookies": false, "type": "webAuth", "demo": "account\/create-o-auth-2-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-oauth2.md", "rate-limit": 50, "rate-time": 3600, "rate-key": "ip:{ip}", @@ -2630,6 +2629,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-oauth2.md", "auth": { "Project": [] } @@ -2758,7 +2758,6 @@ "cookies": false, "type": "", "demo": "account\/update-phone-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "ip:{ip},userId:{param-userId}", @@ -2770,6 +2769,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "deprecated": { "since": "1.6.0", "replaceWith": "account.createSession" @@ -2843,7 +2843,6 @@ "cookies": false, "type": "", "demo": "account\/create-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "ip:{ip},userId:{param-userId}", @@ -2855,6 +2854,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "auth": { "Project": [] } @@ -2922,7 +2922,6 @@ "cookies": false, "type": "", "demo": "account\/get-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-session.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2934,6 +2933,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-session.md", "auth": { "Project": [] } @@ -2984,7 +2984,6 @@ "cookies": false, "type": "", "demo": "account\/update-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-session.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2996,6 +2995,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-session.md", "auth": { "Project": [] } @@ -3041,7 +3041,6 @@ "cookies": false, "type": "", "demo": "account\/delete-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-session.md", "rate-limit": 100, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -3053,6 +3052,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-session.md", "auth": { "Project": [] } @@ -3105,7 +3105,6 @@ "cookies": false, "type": "", "demo": "account\/update-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -3117,6 +3116,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-status.md", "auth": { "Project": [] } @@ -3159,7 +3159,6 @@ "cookies": false, "type": "", "demo": "account\/create-push-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-push-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -3170,6 +3169,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-push-target.md", "auth": { "Project": [] } @@ -3244,7 +3244,6 @@ "cookies": false, "type": "", "demo": "account\/update-push-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-push-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -3255,6 +3254,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-push-target.md", "auth": { "Project": [] } @@ -3317,7 +3317,6 @@ "cookies": false, "type": "", "demo": "account\/delete-push-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-push-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -3328,6 +3327,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-push-target.md", "auth": { "Project": [] } @@ -3379,7 +3379,6 @@ "cookies": false, "type": "", "demo": "account\/create-email-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-email.md", "rate-limit": 10, "rate-time": 3600, "rate-key": [ @@ -3394,6 +3393,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-email.md", "auth": { "Project": [] } @@ -3469,7 +3469,6 @@ "cookies": false, "type": "", "demo": "account\/create-magic-url-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-magic-url.md", "rate-limit": 60, "rate-time": 3600, "rate-key": [ @@ -3484,6 +3483,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-magic-url.md", "auth": { "Project": [] } @@ -3560,7 +3560,6 @@ "cookies": false, "type": "webAuth", "demo": "account\/create-o-auth-2-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-oauth2.md", "rate-limit": 50, "rate-time": 3600, "rate-key": "ip:{ip}", @@ -3572,6 +3571,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-oauth2.md", "auth": { "Project": [] } @@ -3700,7 +3700,6 @@ "cookies": false, "type": "", "demo": "account\/create-phone-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-phone.md", "rate-limit": 10, "rate-time": 3600, "rate-key": [ @@ -3715,6 +3714,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-phone.md", "auth": { "Project": [] } @@ -3784,7 +3784,6 @@ "cookies": false, "type": "", "demo": "account\/create-email-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-email-verification.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},userId:{userId}", @@ -3796,6 +3795,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-email-verification.md", "methods": [ { "name": "createEmailVerification", @@ -3908,7 +3908,6 @@ "cookies": false, "type": "", "demo": "account\/update-email-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-email-verification.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},userId:{param-userId}", @@ -3920,6 +3919,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-email-verification.md", "methods": [ { "name": "updateEmailVerification", @@ -4045,7 +4045,6 @@ "cookies": false, "type": "", "demo": "account\/create-phone-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-phone-verification.md", "rate-limit": 10, "rate-time": 3600, "rate-key": [ @@ -4060,6 +4059,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-phone-verification.md", "auth": { "Project": [] } @@ -4100,7 +4100,6 @@ "cookies": false, "type": "", "demo": "account\/update-phone-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-phone-verification.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "userId:{param-userId}", @@ -4112,6 +4111,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-phone-verification.md", "auth": { "Project": [] } @@ -4179,7 +4179,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-browser.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-browser.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4191,6 +4190,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-browser.md", "auth": { "Project": [] } @@ -4305,7 +4305,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-credit-card.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-credit-card.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4317,6 +4316,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-credit-card.md", "auth": { "Project": [] } @@ -4437,7 +4437,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-favicon.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-favicon.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4449,6 +4448,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-favicon.md", "auth": { "Project": [] } @@ -4501,7 +4501,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-flag.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-flag.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4513,6 +4512,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-flag.md", "auth": { "Project": [] } @@ -4989,7 +4989,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-image.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-image.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -5001,6 +5000,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-image.md", "auth": { "Project": [] } @@ -5073,7 +5073,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-initials.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-initials.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -5085,6 +5084,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-initials.md", "auth": { "Project": [] } @@ -5165,7 +5165,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-qr.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-qr.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -5177,6 +5176,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-qr.md", "auth": { "Project": [] } @@ -5257,7 +5257,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-screenshot.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-screenshot.md", "rate-limit": 60, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -5269,6 +5268,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-screenshot.md", "auth": { "Project": [] } @@ -5972,7 +5972,6 @@ "cookies": false, "type": "", "demo": "assistant\/chat.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/assistant\/chat.md", "rate-limit": 15, "rate-time": 3600, "rate-key": "userId:{userId}", @@ -5982,6 +5981,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/assistant\/chat.md", "auth": { "Project": [] } @@ -6036,7 +6036,6 @@ "cookies": false, "type": "", "demo": "console\/get-resource.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCheck if a resource ID is available.", "rate-limit": 120, "rate-time": 60, "rate-key": "userId:{userId}, url:{url}", @@ -6108,7 +6107,6 @@ "cookies": false, "type": "", "demo": "console\/variables.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/console\/variables.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6118,6 +6116,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/console\/variables.md", "auth": { "Project": [] } @@ -6157,7 +6156,6 @@ "cookies": false, "type": "", "demo": "databases\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6168,6 +6166,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.list" @@ -6273,7 +6272,6 @@ "cookies": false, "type": "", "demo": "databases\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6284,6 +6282,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.create" @@ -6393,7 +6392,6 @@ "cookies": false, "type": "", "demo": "databases\/list-transactions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-transactions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6405,6 +6403,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-transactions.md", "auth": { "Project": [] } @@ -6460,7 +6459,6 @@ "cookies": false, "type": "", "demo": "databases\/create-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6472,6 +6470,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-transaction.md", "auth": { "Project": [] } @@ -6530,7 +6529,6 @@ "cookies": false, "type": "", "demo": "databases\/get-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6542,6 +6540,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-transaction.md", "auth": { "Project": [] } @@ -6593,7 +6592,6 @@ "cookies": false, "type": "", "demo": "databases\/update-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6605,6 +6603,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-transaction.md", "auth": { "Project": [] } @@ -6672,7 +6671,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6684,6 +6682,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-transaction.md", "auth": { "Project": [] } @@ -6737,7 +6736,6 @@ "cookies": false, "type": "", "demo": "databases\/create-operations.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-operations.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6749,6 +6747,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-operations.md", "auth": { "Project": [] } @@ -6818,7 +6817,6 @@ "cookies": false, "type": "", "demo": "databases\/list-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6828,6 +6826,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-usage.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.listUsage" @@ -6920,7 +6919,6 @@ "cookies": false, "type": "", "demo": "databases\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6931,6 +6929,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.get" @@ -7014,7 +7013,6 @@ "cookies": false, "type": "", "demo": "databases\/update.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7025,6 +7023,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.update" @@ -7130,7 +7129,6 @@ "cookies": false, "type": "", "demo": "databases\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7141,6 +7139,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.delete" @@ -7223,7 +7222,6 @@ "cookies": false, "type": "", "demo": "databases\/list-collections.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-collections.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7234,6 +7232,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-collections.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.listTables" @@ -7318,7 +7317,6 @@ "cookies": false, "type": "", "demo": "databases\/create-collection.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-collection.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7329,6 +7327,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-collection.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createTable" @@ -7448,7 +7447,6 @@ "cookies": false, "type": "", "demo": "databases\/get-collection.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-collection.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7459,6 +7457,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-collection.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.getTable" @@ -7521,7 +7520,6 @@ "cookies": false, "type": "", "demo": "databases\/update-collection.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-collection.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7532,6 +7530,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-collection.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateTable" @@ -7629,7 +7628,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-collection.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-collection.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7640,6 +7638,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-collection.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.deleteTable" @@ -7702,7 +7701,6 @@ "cookies": false, "type": "", "demo": "databases\/list-attributes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-attributes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7713,6 +7711,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-attributes.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.listColumns" @@ -7798,7 +7797,6 @@ "cookies": false, "type": "", "demo": "databases\/create-boolean-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-boolean-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7809,6 +7807,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-boolean-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createBooleanColumn" @@ -7911,7 +7910,6 @@ "cookies": false, "type": "", "demo": "databases\/update-boolean-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-boolean-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7922,6 +7920,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-boolean-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateBooleanColumn" @@ -8026,7 +8025,6 @@ "cookies": false, "type": "", "demo": "databases\/create-datetime-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-datetime-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8037,6 +8035,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-datetime-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createDatetimeColumn" @@ -8139,7 +8138,6 @@ "cookies": false, "type": "", "demo": "databases\/update-datetime-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-datetime-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8150,6 +8148,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-datetime-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateDatetimeColumn" @@ -8254,7 +8253,6 @@ "cookies": false, "type": "", "demo": "databases\/create-email-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-email-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8265,6 +8263,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-email-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createEmailColumn" @@ -8367,7 +8366,6 @@ "cookies": false, "type": "", "demo": "databases\/update-email-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-email-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8378,6 +8376,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-email-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateEmailColumn" @@ -8482,7 +8481,6 @@ "cookies": false, "type": "", "demo": "databases\/create-enum-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-enum-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8493,6 +8491,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-enum-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createEnumColumn" @@ -8605,7 +8604,6 @@ "cookies": false, "type": "", "demo": "databases\/update-enum-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-enum-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8616,6 +8614,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-enum-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateEnumColumn" @@ -8730,7 +8729,6 @@ "cookies": false, "type": "", "demo": "databases\/create-float-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-float-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8741,6 +8739,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-float-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createFloatColumn" @@ -8857,7 +8856,6 @@ "cookies": false, "type": "", "demo": "databases\/update-float-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-float-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8868,6 +8866,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-float-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateFloatColumn" @@ -8986,7 +8985,6 @@ "cookies": false, "type": "", "demo": "databases\/create-integer-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-integer-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8997,6 +8995,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-integer-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createIntegerColumn" @@ -9113,7 +9112,6 @@ "cookies": false, "type": "", "demo": "databases\/update-integer-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-integer-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9124,6 +9122,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-integer-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateIntegerColumn" @@ -9242,7 +9241,6 @@ "cookies": false, "type": "", "demo": "databases\/create-ip-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-ip-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9253,6 +9251,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-ip-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createIpColumn" @@ -9355,7 +9354,6 @@ "cookies": false, "type": "", "demo": "databases\/update-ip-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-ip-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9366,6 +9364,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-ip-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateIpColumn" @@ -9470,7 +9469,6 @@ "cookies": false, "type": "", "demo": "databases\/create-line-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-line-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9481,6 +9479,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-line-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createLineColumn" @@ -9577,7 +9576,6 @@ "cookies": false, "type": "", "demo": "databases\/update-line-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-line-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9588,6 +9586,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-line-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateLineColumn" @@ -9691,7 +9690,6 @@ "cookies": false, "type": "", "demo": "databases\/create-point-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-point-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9702,6 +9700,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-point-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createPointColumn" @@ -9798,7 +9797,6 @@ "cookies": false, "type": "", "demo": "databases\/update-point-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-point-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9809,6 +9807,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-point-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updatePointColumn" @@ -9912,7 +9911,6 @@ "cookies": false, "type": "", "demo": "databases\/create-polygon-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-polygon-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9923,6 +9921,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-polygon-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createPolygonColumn" @@ -10019,7 +10018,6 @@ "cookies": false, "type": "", "demo": "databases\/update-polygon-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-polygon-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10030,6 +10028,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-polygon-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updatePolygonColumn" @@ -10133,7 +10132,6 @@ "cookies": false, "type": "", "demo": "databases\/create-relationship-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-relationship-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10144,6 +10142,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-relationship-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createRelationshipColumn" @@ -10274,7 +10273,6 @@ "cookies": false, "type": "", "demo": "databases\/create-string-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-string-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10285,6 +10283,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-string-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createStringColumn" @@ -10400,7 +10399,6 @@ "cookies": false, "type": "", "demo": "databases\/update-string-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-string-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10411,6 +10409,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-string-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateStringColumn" @@ -10522,7 +10521,6 @@ "cookies": false, "type": "", "demo": "databases\/create-url-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-url-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10533,6 +10531,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-url-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createUrlColumn" @@ -10635,7 +10634,6 @@ "cookies": false, "type": "", "demo": "databases\/update-url-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-url-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10646,6 +10644,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-url-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateUrlColumn" @@ -10779,7 +10778,6 @@ "cookies": false, "type": "", "demo": "databases\/get-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10790,6 +10788,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.getColumn" @@ -10854,7 +10853,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10865,6 +10863,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.deleteColumn" @@ -10936,7 +10935,6 @@ "cookies": false, "type": "", "demo": "databases\/update-relationship-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-relationship-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10947,6 +10945,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-relationship-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateRelationshipColumn" @@ -11046,7 +11045,6 @@ "cookies": false, "type": "", "demo": "databases\/list-documents.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-documents.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -11058,6 +11056,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-documents.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.listRows" @@ -11150,7 +11149,6 @@ "cookies": false, "type": "", "demo": "databases\/create-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-document.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -11162,6 +11160,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createRow" @@ -11341,7 +11340,6 @@ "cookies": false, "type": "", "demo": "databases\/upsert-documents.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-documents.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -11352,6 +11350,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-documents.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.upsertRows" @@ -11476,7 +11475,6 @@ "cookies": false, "type": "", "demo": "databases\/update-documents.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-documents.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -11487,6 +11485,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-documents.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateRows" @@ -11580,7 +11579,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-documents.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-documents.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -11591,6 +11589,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-documents.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.deleteRows" @@ -11678,7 +11677,6 @@ "cookies": false, "type": "", "demo": "databases\/get-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-document.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -11690,6 +11688,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.getRow" @@ -11781,7 +11780,6 @@ "cookies": false, "type": "", "demo": "databases\/upsert-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-document.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -11793,6 +11791,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.upsertRow" @@ -11936,7 +11935,6 @@ "cookies": false, "type": "", "demo": "databases\/update-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-document.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -11948,6 +11946,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateRow" @@ -12046,7 +12045,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-document.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -12058,6 +12056,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.deleteRow" @@ -12145,7 +12144,6 @@ "cookies": false, "type": "", "demo": "databases\/list-document-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-document-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12155,6 +12153,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-document-logs.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.listRowLogs" @@ -12238,7 +12237,6 @@ "cookies": false, "type": "", "demo": "databases\/decrement-document-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/decrement-document-attribute.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -12250,6 +12248,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/decrement-document-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.decrementRowColumn" @@ -12359,7 +12358,6 @@ "cookies": false, "type": "", "demo": "databases\/increment-document-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/increment-document-attribute.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -12371,6 +12369,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/increment-document-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.incrementRowColumn" @@ -12478,7 +12477,6 @@ "cookies": false, "type": "", "demo": "databases\/list-indexes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-indexes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12489,6 +12487,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-indexes.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.listIndexes" @@ -12572,7 +12571,6 @@ "cookies": false, "type": "", "demo": "databases\/create-index.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12583,6 +12581,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-index.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createIndex" @@ -12712,7 +12711,6 @@ "cookies": false, "type": "", "demo": "databases\/get-index.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12723,6 +12721,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-index.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.getIndex" @@ -12787,7 +12786,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-index.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12798,6 +12796,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-index.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.deleteIndex" @@ -12867,7 +12866,6 @@ "cookies": false, "type": "", "demo": "databases\/list-collection-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-collection-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12877,6 +12875,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-collection-logs.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.listTableLogs" @@ -12950,7 +12949,6 @@ "cookies": false, "type": "", "demo": "databases\/get-collection-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-collection-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12960,6 +12958,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-collection-usage.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.getTableUsage" @@ -13041,7 +13040,6 @@ "cookies": false, "type": "", "demo": "databases\/list-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13051,6 +13049,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-logs.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.listDatabaseLogs" @@ -13146,7 +13145,6 @@ "cookies": false, "type": "", "demo": "databases\/get-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-database-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13156,6 +13154,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-database-usage.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.getUsage" @@ -13259,7 +13258,6 @@ "cookies": false, "type": "", "demo": "functions\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all the project's functions. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13342,7 +13340,6 @@ "cookies": false, "type": "", "demo": "functions\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new function. You can pass a list of [permissions](https:\/\/appwrite.io\/docs\/permissions) to allow different project users or team with access to execute the function using the client API.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13656,7 +13653,6 @@ "cookies": false, "type": "", "demo": "functions\/list-runtimes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all runtimes that are currently active on your instance.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13707,7 +13703,6 @@ "cookies": false, "type": "", "demo": "functions\/list-specifications.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterList allowed function specifications for this instance.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13758,7 +13753,6 @@ "cookies": false, "type": "", "demo": "functions\/list-templates.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterList available function templates. You can use template details in [createFunction](\/docs\/references\/cloud\/server-nodejs\/functions#create) method.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13943,7 +13937,6 @@ "cookies": false, "type": "", "demo": "functions\/get-template.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a function template using ID. You can use template details in [createFunction](\/docs\/references\/cloud\/server-nodejs\/functions#create) method.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14002,7 +13995,6 @@ "cookies": false, "type": "", "demo": "functions\/list-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet usage metrics and statistics for all functions in the project. View statistics including total deployments, builds, logs, storage usage, and compute time. The response includes both current totals and historical data for each metric. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, defaults to 30 days.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14073,7 +14065,6 @@ "cookies": false, "type": "", "demo": "functions\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a function by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14134,7 +14125,6 @@ "cookies": false, "type": "", "demo": "functions\/update.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate function by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14444,7 +14434,6 @@ "cookies": false, "type": "", "demo": "functions\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a function by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14507,7 +14496,6 @@ "cookies": false, "type": "", "demo": "functions\/update-function-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate the function active deployment. Use this endpoint to switch the code deployment that should be used when visitor opens your function.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14586,7 +14574,6 @@ "cookies": false, "type": "", "demo": "functions\/list-deployments.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all the function's code deployments. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14677,7 +14664,6 @@ "cookies": false, "type": "upload", "demo": "functions\/create-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new function code deployment. Use this endpoint to upload a new version of your code function. To execute your newly uploaded code, you'll need to update the function's deployment to use your new deployment UID.\n\nThis endpoint accepts a tar.gz file compressed with your code. Make sure to include any dependencies your code has within the compressed file. You can learn more about code packaging in the [Appwrite Cloud Functions tutorial](https:\/\/appwrite.io\/docs\/functions).\n\nUse the \"command\" param to set the entrypoint used to execute your code.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14771,7 +14757,6 @@ "cookies": false, "type": "", "demo": "functions\/create-duplicate-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new build for an existing function deployment. This endpoint allows you to rebuild a deployment with the updated function configuration, including its entrypoint and build commands if they have been modified. The build process will be queued and executed asynchronously. The original deployment's code will be preserved and used for the new build.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14858,7 +14843,6 @@ "cookies": false, "type": "", "demo": "functions\/create-template-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a deployment based on a template.\n\nUse this endpoint with combination of [listTemplates](https:\/\/appwrite.io\/docs\/products\/functions\/templates) to find the template details.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14980,7 +14964,6 @@ "cookies": false, "type": "", "demo": "functions\/create-vcs-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a deployment when a function is connected to VCS.\n\nThis endpoint lets you create deployment from a branch, commit, or a tag.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15078,7 +15061,6 @@ "cookies": false, "type": "", "demo": "functions\/get-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a function deployment by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15142,7 +15124,6 @@ "cookies": false, "type": "", "demo": "functions\/delete-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a code deployment by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15211,7 +15192,6 @@ "cookies": false, "type": "location", "demo": "functions\/get-deployment-download.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a function deployment content by its unique ID. The endpoint response return with a 'Content-Disposition: attachment' header that tells the browser to start downloading the file to user downloads directory.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15298,7 +15278,6 @@ "cookies": false, "type": "", "demo": "functions\/update-deployment-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCancel an ongoing function deployment build. If the build is already in progress, it will be stopped and marked as canceled. If the build hasn't started yet, it will be marked as canceled without executing. You cannot cancel builds that have already completed (status 'ready') or failed. The response includes the final build status and details.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15367,7 +15346,6 @@ "cookies": false, "type": "", "demo": "functions\/list-executions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all the current user function execution logs. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15451,7 +15429,6 @@ "cookies": false, "type": "", "demo": "functions\/create-execution.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterTrigger a function execution. The returned object will return you the current execution status. You can ping the `Get Execution` endpoint to get updates on the current execution status. Once this endpoint is called, your function execution process will start asynchronously.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15571,7 +15548,6 @@ "cookies": false, "type": "", "demo": "functions\/get-execution.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a function execution log by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15637,7 +15613,6 @@ "cookies": false, "type": "", "demo": "functions\/delete-execution.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a function execution by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15706,7 +15681,6 @@ "cookies": false, "type": "", "demo": "functions\/get-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet usage metrics and statistics for a for a specific function. View statistics including total deployments, builds, executions, storage usage, and compute time. The response includes both current totals and historical data for each metric. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, defaults to 30 days.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15785,7 +15759,6 @@ "cookies": false, "type": "", "demo": "functions\/list-variables.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all variables of a specific function.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15846,7 +15819,6 @@ "cookies": false, "type": "", "demo": "functions\/create-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new function environment variable. These variables can be accessed in the function at runtime as environment variables.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15938,7 +15910,6 @@ "cookies": false, "type": "", "demo": "functions\/get-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a variable by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16007,7 +15978,6 @@ "cookies": false, "type": "", "demo": "functions\/update-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate variable by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16103,7 +16073,6 @@ "cookies": false, "type": "", "demo": "functions\/delete-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a variable by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16174,7 +16143,6 @@ "cookies": false, "type": "graphql", "demo": "graphql\/query.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "rate-limit": 60, "rate-time": 60, "rate-key": "url:{url},ip:{ip}", @@ -16186,6 +16154,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "auth": { "Project": [] } @@ -16249,7 +16218,6 @@ "cookies": false, "type": "graphql", "demo": "graphql\/mutation.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "rate-limit": 60, "rate-time": 60, "rate-key": "url:{url},ip:{ip}", @@ -16261,6 +16229,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "auth": { "Project": [] } @@ -16322,7 +16291,6 @@ "cookies": false, "type": "", "demo": "health\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16333,6 +16301,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get.md", "auth": { "Project": [] } @@ -16373,7 +16342,6 @@ "cookies": false, "type": "", "demo": "health\/get-antivirus.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage-anti-virus.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16384,6 +16352,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage-anti-virus.md", "auth": { "Project": [] } @@ -16424,7 +16393,6 @@ "cookies": false, "type": "", "demo": "health\/get-cache.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-cache.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16435,6 +16403,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-cache.md", "auth": { "Project": [] } @@ -16475,7 +16444,6 @@ "cookies": false, "type": "", "demo": "health\/get-certificate.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-certificate.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16486,6 +16454,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-certificate.md", "auth": { "Project": [] } @@ -16535,7 +16504,6 @@ "cookies": false, "type": "", "demo": "health\/get-db.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-db.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16546,6 +16514,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-db.md", "auth": { "Project": [] } @@ -16586,7 +16555,6 @@ "cookies": false, "type": "", "demo": "health\/get-pub-sub.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-pubsub.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16597,6 +16565,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-pubsub.md", "auth": { "Project": [] } @@ -16637,7 +16606,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-builds.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-builds.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16648,6 +16616,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-builds.md", "auth": { "Project": [] } @@ -16699,7 +16668,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-certificates.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-certificates.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16710,6 +16678,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-certificates.md", "auth": { "Project": [] } @@ -16761,7 +16730,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-databases.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-databases.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16772,6 +16740,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-databases.md", "auth": { "Project": [] } @@ -16832,7 +16801,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-deletes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-deletes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16843,6 +16811,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-deletes.md", "auth": { "Project": [] } @@ -16894,7 +16863,6 @@ "cookies": false, "type": "", "demo": "health\/get-failed-jobs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-failed-queue-jobs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16905,6 +16873,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-failed-queue-jobs.md", "auth": { "Project": [] } @@ -16980,7 +16949,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-functions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-functions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16991,6 +16959,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-functions.md", "auth": { "Project": [] } @@ -17042,7 +17011,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17053,6 +17021,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-logs.md", "auth": { "Project": [] } @@ -17104,7 +17073,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-mails.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-mails.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17115,6 +17083,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-mails.md", "auth": { "Project": [] } @@ -17166,7 +17135,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-messaging.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-messaging.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17177,6 +17145,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-messaging.md", "auth": { "Project": [] } @@ -17228,7 +17197,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-migrations.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-migrations.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17239,6 +17207,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-migrations.md", "auth": { "Project": [] } @@ -17290,7 +17259,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-stats-resources.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-stats-resources.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17301,6 +17269,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-stats-resources.md", "auth": { "Project": [] } @@ -17352,7 +17321,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-stats-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17363,6 +17331,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-stats-usage.md", "auth": { "Project": [] } @@ -17414,7 +17383,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-webhooks.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-webhooks.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17425,6 +17393,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-webhooks.md", "auth": { "Project": [] } @@ -17476,7 +17445,6 @@ "cookies": false, "type": "", "demo": "health\/get-storage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17487,6 +17455,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage.md", "auth": { "Project": [] } @@ -17527,7 +17496,6 @@ "cookies": false, "type": "", "demo": "health\/get-storage-local.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage-local.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17538,6 +17506,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage-local.md", "auth": { "Project": [] } @@ -17578,7 +17547,6 @@ "cookies": false, "type": "", "demo": "health\/get-time.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-time.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17589,6 +17557,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-time.md", "auth": { "Project": [] } @@ -17629,7 +17598,6 @@ "cookies": false, "type": "", "demo": "locale\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/get-locale.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17641,6 +17609,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/get-locale.md", "auth": { "Project": [] } @@ -17682,7 +17651,6 @@ "cookies": false, "type": "", "demo": "locale\/list-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-locale-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17694,6 +17662,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-locale-codes.md", "auth": { "Project": [] } @@ -17735,7 +17704,6 @@ "cookies": false, "type": "", "demo": "locale\/list-continents.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-continents.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17747,6 +17715,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-continents.md", "auth": { "Project": [] } @@ -17788,7 +17757,6 @@ "cookies": false, "type": "", "demo": "locale\/list-countries.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17800,6 +17768,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries.md", "auth": { "Project": [] } @@ -17841,7 +17810,6 @@ "cookies": false, "type": "", "demo": "locale\/list-countries-eu.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-eu.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17853,6 +17821,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-eu.md", "auth": { "Project": [] } @@ -17894,7 +17863,6 @@ "cookies": false, "type": "", "demo": "locale\/list-countries-phones.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-phones.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17906,6 +17874,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-phones.md", "auth": { "Project": [] } @@ -17947,7 +17916,6 @@ "cookies": false, "type": "", "demo": "locale\/list-currencies.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-currencies.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17959,6 +17927,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-currencies.md", "auth": { "Project": [] } @@ -18000,7 +17969,6 @@ "cookies": false, "type": "", "demo": "locale\/list-languages.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-languages.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18012,6 +17980,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-languages.md", "auth": { "Project": [] } @@ -18053,7 +18022,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-messages.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-messages.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18064,6 +18032,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-messages.md", "auth": { "Project": [] } @@ -18138,7 +18107,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-email.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-email.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18149,6 +18117,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-email.md", "auth": { "Project": [] } @@ -18298,7 +18267,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-email.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-email.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18309,6 +18277,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-email.md", "auth": { "Project": [] } @@ -18465,7 +18434,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-push.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-push.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18476,6 +18444,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-push.md", "auth": { "Project": [] } @@ -18663,7 +18632,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-push.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-push.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18674,6 +18642,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-push.md", "auth": { "Project": [] } @@ -18876,7 +18845,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-sms.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-sms.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18887,6 +18855,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-sms.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.createSMS" @@ -19066,7 +19035,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-sms.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-sms.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19077,6 +19045,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-sms.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.updateSMS" @@ -19255,7 +19224,6 @@ "cookies": false, "type": "", "demo": "messaging\/get-message.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-message.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19266,6 +19234,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-message.md", "auth": { "Project": [] } @@ -19311,7 +19280,6 @@ "cookies": false, "type": "", "demo": "messaging\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-message.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19322,6 +19290,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-message.md", "auth": { "Project": [] } @@ -19372,7 +19341,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-message-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-message-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19383,6 +19351,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-message-logs.md", "auth": { "Project": [] } @@ -19454,7 +19423,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-targets.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-message-targets.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19465,6 +19433,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-message-targets.md", "auth": { "Project": [] } @@ -19536,7 +19505,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-providers.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-providers.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19547,6 +19515,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-providers.md", "auth": { "Project": [] } @@ -19621,7 +19590,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-apns-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-apns-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19632,6 +19600,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-apns-provider.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.createAPNSProvider" @@ -19810,7 +19779,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-apns-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-apns-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19821,6 +19789,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-apns-provider.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.updateAPNSProvider" @@ -19996,7 +19965,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-fcm-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-fcm-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20007,6 +19975,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-fcm-provider.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.createFCMProvider" @@ -20154,7 +20123,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-fcm-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-fcm-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20165,6 +20133,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-fcm-provider.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.updateFCMProvider" @@ -20308,7 +20277,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-mailgun-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-mailgun-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20319,6 +20287,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-mailgun-provider.md", "auth": { "Project": [] } @@ -20438,7 +20407,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-mailgun-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-mailgun-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20449,6 +20417,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-mailgun-provider.md", "auth": { "Project": [] } @@ -20566,7 +20535,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-msg-91-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-msg91-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20577,6 +20545,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-msg91-provider.md", "auth": { "Project": [] } @@ -20671,7 +20640,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-msg-91-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-msg91-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20682,6 +20650,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-msg91-provider.md", "auth": { "Project": [] } @@ -20774,7 +20743,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-resend-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-resend-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20785,6 +20753,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-resend-provider.md", "auth": { "Project": [] } @@ -20891,7 +20860,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-resend-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-resend-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20902,6 +20870,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-resend-provider.md", "auth": { "Project": [] } @@ -21006,7 +20975,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-sendgrid-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-sendgrid-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21017,6 +20985,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-sendgrid-provider.md", "auth": { "Project": [] } @@ -21123,7 +21092,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-sendgrid-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-sendgrid-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21134,6 +21102,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-sendgrid-provider.md", "auth": { "Project": [] } @@ -21238,7 +21207,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-smtp-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-smtp-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21249,6 +21217,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-smtp-provider.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.createSMTPProvider" @@ -21485,7 +21454,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-smtp-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-smtp-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21496,6 +21464,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-smtp-provider.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.updateSMTPProvider" @@ -21727,7 +21696,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-telesign-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-telesign-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21738,6 +21706,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-telesign-provider.md", "auth": { "Project": [] } @@ -21832,7 +21801,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-telesign-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-telesign-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21843,6 +21811,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-telesign-provider.md", "auth": { "Project": [] } @@ -21935,7 +21904,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-textmagic-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-textmagic-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21946,6 +21914,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-textmagic-provider.md", "auth": { "Project": [] } @@ -22040,7 +22009,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-textmagic-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-textmagic-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22051,6 +22019,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-textmagic-provider.md", "auth": { "Project": [] } @@ -22143,7 +22112,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-twilio-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-twilio-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22154,6 +22122,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-twilio-provider.md", "auth": { "Project": [] } @@ -22248,7 +22217,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-twilio-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-twilio-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22259,6 +22227,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-twilio-provider.md", "auth": { "Project": [] } @@ -22351,7 +22320,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-vonage-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-vonage-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22362,6 +22330,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-vonage-provider.md", "auth": { "Project": [] } @@ -22456,7 +22425,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-vonage-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-vonage-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22467,6 +22435,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-vonage-provider.md", "auth": { "Project": [] } @@ -22557,7 +22526,6 @@ "cookies": false, "type": "", "demo": "messaging\/get-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22568,6 +22536,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-provider.md", "auth": { "Project": [] } @@ -22613,7 +22582,6 @@ "cookies": false, "type": "", "demo": "messaging\/delete-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22624,6 +22592,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-provider.md", "auth": { "Project": [] } @@ -22674,7 +22643,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-provider-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-provider-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22685,6 +22653,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-provider-logs.md", "auth": { "Project": [] } @@ -22756,7 +22725,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-subscriber-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-subscriber-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22767,6 +22735,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-subscriber-logs.md", "auth": { "Project": [] } @@ -22838,7 +22807,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-topics.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-topics.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22849,6 +22817,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-topics.md", "auth": { "Project": [] } @@ -22921,7 +22890,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-topic.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-topic.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22932,6 +22900,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-topic.md", "auth": { "Project": [] } @@ -23010,7 +22979,6 @@ "cookies": false, "type": "", "demo": "messaging\/get-topic.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-topic.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23021,6 +22989,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-topic.md", "auth": { "Project": [] } @@ -23071,7 +23040,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-topic.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-topic.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23082,6 +23050,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-topic.md", "auth": { "Project": [] } @@ -23153,7 +23122,6 @@ "cookies": false, "type": "", "demo": "messaging\/delete-topic.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-topic.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23164,6 +23132,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-topic.md", "auth": { "Project": [] } @@ -23214,7 +23183,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-topic-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-topic-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23225,6 +23193,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-topic-logs.md", "auth": { "Project": [] } @@ -23296,7 +23265,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-subscribers.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-subscribers.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23307,6 +23275,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-subscribers.md", "auth": { "Project": [] } @@ -23387,7 +23356,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-subscriber.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-subscriber.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23399,6 +23367,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-subscriber.md", "auth": { "Project": [] } @@ -23475,7 +23444,6 @@ "cookies": false, "type": "", "demo": "messaging\/get-subscriber.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-subscriber.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23486,6 +23454,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-subscriber.md", "auth": { "Project": [] } @@ -23539,7 +23508,6 @@ "cookies": false, "type": "", "demo": "messaging\/delete-subscriber.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-subscriber.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23551,6 +23519,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-subscriber.md", "auth": { "Project": [] } @@ -23610,7 +23579,6 @@ "cookies": false, "type": "", "demo": "migrations\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/list-migrations.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23620,6 +23588,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/list-migrations.md", "auth": { "Project": [] } @@ -23693,7 +23662,6 @@ "cookies": false, "type": "", "demo": "migrations\/create-appwrite-migration.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-appwrite.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23703,6 +23671,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-appwrite.md", "auth": { "Project": [] } @@ -23806,7 +23775,6 @@ "cookies": false, "type": "", "demo": "migrations\/get-appwrite-report.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-appwrite-report.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23816,6 +23784,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-appwrite-report.md", "auth": { "Project": [] } @@ -23915,7 +23884,6 @@ "cookies": false, "type": "", "demo": "migrations\/create-csv-export.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-csv-export.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23925,6 +23893,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-csv-export.md", "auth": { "Project": [] } @@ -24041,7 +24010,6 @@ "cookies": false, "type": "", "demo": "migrations\/create-csv-import.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-csv-import.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24051,6 +24019,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-csv-import.md", "auth": { "Project": [] } @@ -24132,7 +24101,6 @@ "cookies": false, "type": "", "demo": "migrations\/create-firebase-migration.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-firebase.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24142,6 +24110,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-firebase.md", "auth": { "Project": [] } @@ -24225,7 +24194,6 @@ "cookies": false, "type": "", "demo": "migrations\/get-firebase-report.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-firebase-report.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24235,6 +24203,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-firebase-report.md", "auth": { "Project": [] } @@ -24311,7 +24280,6 @@ "cookies": false, "type": "", "demo": "migrations\/create-n-host-migration.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-nhost.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24321,6 +24289,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-nhost.md", "auth": { "Project": [] } @@ -24446,7 +24415,6 @@ "cookies": false, "type": "", "demo": "migrations\/get-n-host-report.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-nhost-report.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24456,6 +24424,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-nhost-report.md", "auth": { "Project": [] } @@ -24582,7 +24551,6 @@ "cookies": false, "type": "", "demo": "migrations\/create-supabase-migration.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-supabase.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24592,6 +24560,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-supabase.md", "auth": { "Project": [] } @@ -24710,7 +24679,6 @@ "cookies": false, "type": "", "demo": "migrations\/get-supabase-report.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-supabase-report.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24720,6 +24688,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/migration-supabase-report.md", "auth": { "Project": [] } @@ -24837,7 +24806,6 @@ "cookies": false, "type": "", "demo": "migrations\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/get-migration.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24847,6 +24815,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/get-migration.md", "auth": { "Project": [] } @@ -24896,7 +24865,6 @@ "cookies": false, "type": "", "demo": "migrations\/retry.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/retry-migration.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24906,6 +24874,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/retry-migration.md", "auth": { "Project": [] } @@ -24950,7 +24919,6 @@ "cookies": false, "type": "", "demo": "migrations\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/delete-migration.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24960,6 +24928,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/migrations\/delete-migration.md", "auth": { "Project": [] } @@ -25009,7 +24978,6 @@ "cookies": false, "type": "", "demo": "project\/get-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/project\/get-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25019,6 +24987,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/project\/get-usage.md", "auth": { "Project": [] } @@ -25092,7 +25061,6 @@ "cookies": false, "type": "", "demo": "project\/list-variables.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/project\/list-variables.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25102,6 +25070,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/project\/list-variables.md", "auth": { "Project": [] } @@ -25141,7 +25110,6 @@ "cookies": false, "type": "", "demo": "project\/create-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/project\/create-variable.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25151,6 +25119,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/project\/create-variable.md", "auth": { "Project": [] } @@ -25223,7 +25192,6 @@ "cookies": false, "type": "", "demo": "project\/get-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/project\/get-variable.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25233,6 +25201,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/project\/get-variable.md", "auth": { "Project": [] } @@ -25282,7 +25251,6 @@ "cookies": false, "type": "", "demo": "project\/update-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/project\/update-variable.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25292,6 +25260,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/project\/update-variable.md", "auth": { "Project": [] } @@ -25368,7 +25337,6 @@ "cookies": false, "type": "", "demo": "project\/delete-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/project\/delete-variable.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25378,6 +25346,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/project\/delete-variable.md", "auth": { "Project": [] } @@ -25427,7 +25396,6 @@ "cookies": false, "type": "", "demo": "projects\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all projects. You can use the query params to filter your results. ", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25508,7 +25476,6 @@ "cookies": false, "type": "", "demo": "projects\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25518,6 +25485,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create.md", "auth": { "Project": [] } @@ -25656,7 +25624,6 @@ "cookies": false, "type": "", "demo": "projects\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25666,6 +25633,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get.md", "auth": { "Project": [] } @@ -25715,7 +25683,6 @@ "cookies": false, "type": "", "demo": "projects\/update.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25725,6 +25692,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update.md", "auth": { "Project": [] } @@ -25841,7 +25809,6 @@ "cookies": false, "type": "", "demo": "projects\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/delete.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25851,6 +25818,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/delete.md", "auth": { "Project": [] } @@ -25902,7 +25870,6 @@ "cookies": false, "type": "", "demo": "projects\/update-api-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-api-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25912,6 +25879,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-api-status.md", "deprecated": { "since": "1.8.0", "replaceWith": "projects.updateAPIStatus" @@ -26059,7 +26027,6 @@ "cookies": false, "type": "", "demo": "projects\/update-api-status-all.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-api-status-all.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26069,6 +26036,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-api-status-all.md", "deprecated": { "since": "1.8.0", "replaceWith": "projects.updateAPIStatusAll" @@ -26198,7 +26166,6 @@ "cookies": false, "type": "", "demo": "projects\/update-auth-duration.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-auth-duration.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26208,6 +26175,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-auth-duration.md", "auth": { "Project": [] } @@ -26277,7 +26245,6 @@ "cookies": false, "type": "", "demo": "projects\/update-auth-limit.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-auth-limit.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26287,6 +26254,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-auth-limit.md", "auth": { "Project": [] } @@ -26356,7 +26324,6 @@ "cookies": false, "type": "", "demo": "projects\/update-auth-sessions-limit.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-auth-sessions-limit.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26366,6 +26333,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-auth-sessions-limit.md", "auth": { "Project": [] } @@ -26435,7 +26403,6 @@ "cookies": false, "type": "", "demo": "projects\/update-memberships-privacy.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-memberships-privacy.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26445,6 +26412,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-memberships-privacy.md", "auth": { "Project": [] } @@ -26528,7 +26496,6 @@ "cookies": false, "type": "", "demo": "projects\/update-mock-numbers.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-mock-numbers.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26538,6 +26505,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-mock-numbers.md", "auth": { "Project": [] } @@ -26610,7 +26578,6 @@ "cookies": false, "type": "", "demo": "projects\/update-auth-password-dictionary.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-auth-password-dictionary.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26620,6 +26587,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-auth-password-dictionary.md", "auth": { "Project": [] } @@ -26689,7 +26657,6 @@ "cookies": false, "type": "", "demo": "projects\/update-auth-password-history.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-auth-password-history.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26699,6 +26666,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-auth-password-history.md", "auth": { "Project": [] } @@ -26768,7 +26736,6 @@ "cookies": false, "type": "", "demo": "projects\/update-personal-data-check.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-personal-data-check.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26778,6 +26745,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-personal-data-check.md", "auth": { "Project": [] } @@ -26847,7 +26815,6 @@ "cookies": false, "type": "", "demo": "projects\/update-session-alerts.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-session-alerts.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26857,6 +26824,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-session-alerts.md", "auth": { "Project": [] } @@ -26926,7 +26894,6 @@ "cookies": false, "type": "", "demo": "projects\/update-session-invalidation.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-session-invalidation.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26936,6 +26903,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-session-invalidation.md", "auth": { "Project": [] } @@ -27005,7 +26973,6 @@ "cookies": false, "type": "", "demo": "projects\/update-auth-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-auth-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27015,6 +26982,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-auth-status.md", "auth": { "Project": [] } @@ -27101,7 +27069,6 @@ "cookies": false, "type": "", "demo": "projects\/list-dev-keys.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterList all the project\\'s dev keys. Dev keys are project specific and allow you to bypass rate limits and get better error logging during development.'", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27172,7 +27139,6 @@ "cookies": false, "type": "", "demo": "projects\/create-dev-key.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new project dev key. Dev keys are project specific and allow you to bypass rate limits and get better error logging during development. Strictly meant for development purposes only.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27256,7 +27222,6 @@ "cookies": false, "type": "", "demo": "projects\/get-dev-key.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a project\\'s dev key by its unique ID. Dev keys are project specific and allow you to bypass rate limits and get better error logging during development.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27323,7 +27288,6 @@ "cookies": false, "type": "", "demo": "projects\/update-dev-key.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate a project\\'s dev key by its unique ID. Use this endpoint to update a project\\'s dev key name or expiration time.'", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27410,7 +27374,6 @@ "cookies": false, "type": "", "demo": "projects\/delete-dev-key.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a project\\'s dev key by its unique ID. Once deleted, the key will no longer allow bypassing of rate limits and better logging of errors.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27479,7 +27442,6 @@ "cookies": false, "type": "", "demo": "projects\/create-jwt.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create-jwt.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27489,6 +27451,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create-jwt.md", "auth": { "Project": [] } @@ -27624,7 +27587,6 @@ "cookies": false, "type": "", "demo": "projects\/list-keys.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/list-keys.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27634,6 +27596,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/list-keys.md", "auth": { "Project": [] } @@ -27692,7 +27655,6 @@ "cookies": false, "type": "", "demo": "projects\/create-key.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create-key.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27702,6 +27664,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create-key.md", "auth": { "Project": [] } @@ -27846,7 +27809,6 @@ "cookies": false, "type": "", "demo": "projects\/get-key.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get-key.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27856,6 +27818,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get-key.md", "auth": { "Project": [] } @@ -27913,7 +27876,6 @@ "cookies": false, "type": "", "demo": "projects\/update-key.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-key.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27923,6 +27885,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-key.md", "auth": { "Project": [] } @@ -28070,7 +28033,6 @@ "cookies": false, "type": "", "demo": "projects\/delete-key.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/delete-key.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28080,6 +28042,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/delete-key.md", "auth": { "Project": [] } @@ -28139,7 +28102,6 @@ "cookies": false, "type": "", "demo": "projects\/update-o-auth-2.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-oauth2.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28149,6 +28111,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-oauth2.md", "auth": { "Project": [] } @@ -28281,7 +28244,6 @@ "cookies": false, "type": "", "demo": "projects\/list-platforms.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/list-platforms.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28291,6 +28253,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/list-platforms.md", "auth": { "Project": [] } @@ -28349,7 +28312,6 @@ "cookies": false, "type": "", "demo": "projects\/create-platform.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create-platform.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28359,6 +28321,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create-platform.md", "auth": { "Project": [] } @@ -28470,7 +28433,6 @@ "cookies": false, "type": "", "demo": "projects\/get-platform.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get-platform.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28480,6 +28442,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get-platform.md", "auth": { "Project": [] } @@ -28537,7 +28500,6 @@ "cookies": false, "type": "", "demo": "projects\/update-platform.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-platform.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28547,6 +28509,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-platform.md", "auth": { "Project": [] } @@ -28635,7 +28598,6 @@ "cookies": false, "type": "", "demo": "projects\/delete-platform.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/delete-platform.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28645,6 +28607,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/delete-platform.md", "auth": { "Project": [] } @@ -28704,7 +28667,6 @@ "cookies": false, "type": "", "demo": "projects\/update-service-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-service-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28714,6 +28676,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-service-status.md", "auth": { "Project": [] } @@ -28807,7 +28770,6 @@ "cookies": false, "type": "", "demo": "projects\/update-service-status-all.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-service-status-all.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28817,6 +28779,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-service-status-all.md", "auth": { "Project": [] } @@ -28886,7 +28849,6 @@ "cookies": false, "type": "", "demo": "projects\/update-smtp.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-smtp.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28896,6 +28858,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-smtp.md", "deprecated": { "since": "1.8.0", "replaceWith": "projects.updateSMTP" @@ -29092,7 +29055,6 @@ "cookies": false, "type": "", "demo": "projects\/create-smtp-test.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create-smtp-test.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -29102,6 +29064,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create-smtp-test.md", "deprecated": { "since": "1.8.0", "replaceWith": "projects.createSMTPTest" @@ -29311,7 +29274,6 @@ "cookies": false, "type": "", "demo": "projects\/update-team.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-team.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -29321,6 +29283,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-team.md", "auth": { "Project": [] } @@ -29388,7 +29351,6 @@ "cookies": false, "type": "", "demo": "projects\/get-email-template.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get-email-template.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -29398,6 +29360,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get-email-template.md", "auth": { "Project": [] } @@ -29609,7 +29572,6 @@ "cookies": false, "type": "", "demo": "projects\/update-email-template.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-email-template.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -29619,6 +29581,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-email-template.md", "auth": { "Project": [] } @@ -29873,7 +29836,6 @@ "cookies": false, "type": "", "demo": "projects\/delete-email-template.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/delete-email-template.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -29883,6 +29845,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/delete-email-template.md", "auth": { "Project": [] } @@ -30094,7 +30057,6 @@ "cookies": false, "type": "", "demo": "projects\/get-sms-template.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get-sms-template.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30104,6 +30066,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get-sms-template.md", "deprecated": { "since": "1.8.0", "replaceWith": "projects.getSMSTemplate" @@ -30376,7 +30339,6 @@ "cookies": false, "type": "", "demo": "projects\/update-sms-template.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-sms-template.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30386,6 +30348,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-sms-template.md", "deprecated": { "since": "1.8.0", "replaceWith": "projects.updateSMSTemplate" @@ -30680,7 +30643,6 @@ "cookies": false, "type": "", "demo": "projects\/delete-sms-template.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/delete-sms-template.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30690,6 +30652,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/delete-sms-template.md", "deprecated": { "since": "1.8.0", "replaceWith": "projects.deleteSMSTemplate" @@ -30962,7 +30925,6 @@ "cookies": false, "type": "", "demo": "projects\/list-webhooks.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/list-webhooks.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30972,6 +30934,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/list-webhooks.md", "auth": { "Project": [] } @@ -31030,7 +30993,6 @@ "cookies": false, "type": "", "demo": "projects\/create-webhook.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create-webhook.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -31040,6 +31002,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/create-webhook.md", "auth": { "Project": [] } @@ -31149,7 +31112,6 @@ "cookies": false, "type": "", "demo": "projects\/get-webhook.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get-webhook.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -31159,6 +31121,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/get-webhook.md", "auth": { "Project": [] } @@ -31216,7 +31179,6 @@ "cookies": false, "type": "", "demo": "projects\/update-webhook.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-webhook.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -31226,6 +31188,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-webhook.md", "auth": { "Project": [] } @@ -31338,7 +31301,6 @@ "cookies": false, "type": "", "demo": "projects\/delete-webhook.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/delete-webhook.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -31348,6 +31310,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/delete-webhook.md", "auth": { "Project": [] } @@ -31407,7 +31370,6 @@ "cookies": false, "type": "", "demo": "projects\/update-webhook-signature.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-webhook-signature.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -31417,6 +31379,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/projects\/update-webhook-signature.md", "auth": { "Project": [] } @@ -31474,7 +31437,6 @@ "cookies": false, "type": "", "demo": "proxy\/list-rules.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all the proxy rules. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -31557,7 +31519,6 @@ "cookies": false, "type": "", "demo": "proxy\/create-api-rule.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new proxy rule for serving Appwrite's API on custom domain.", "rate-limit": 10, "rate-time": 60, "rate-key": "userId:{userId}, url:{url}", @@ -31628,7 +31589,6 @@ "cookies": false, "type": "", "demo": "proxy\/create-function-rule.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new proxy rule for executing Appwrite Function on custom domain.", "rate-limit": 10, "rate-time": 60, "rate-key": "userId:{userId}, url:{url}", @@ -31712,7 +31672,6 @@ "cookies": false, "type": "", "demo": "proxy\/create-redirect-rule.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new proxy rule for to redirect from custom domain to another domain.", "rate-limit": 10, "rate-time": 60, "rate-key": "userId:{userId}, url:{url}", @@ -31833,7 +31792,6 @@ "cookies": false, "type": "", "demo": "proxy\/create-site-rule.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new proxy rule for serving Appwrite Site on custom domain.", "rate-limit": 10, "rate-time": 60, "rate-key": "userId:{userId}, url:{url}", @@ -31915,7 +31873,6 @@ "cookies": false, "type": "", "demo": "proxy\/get-rule.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a proxy rule by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -31969,7 +31926,6 @@ "cookies": false, "type": "", "demo": "proxy\/delete-rule.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a proxy rule by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32030,7 +31986,6 @@ "cookies": false, "type": "", "demo": "proxy\/update-rule-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterRetry getting verification process of a proxy rule. This endpoint triggers domain verification by checking DNS records (CNAME) against the configured target domain. If verification is successful, a TLS certificate will be automatically provisioned for the domain.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32089,7 +32044,6 @@ "cookies": false, "type": "", "demo": "sites\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all the project's sites. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32172,7 +32126,6 @@ "cookies": false, "type": "", "demo": "sites\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new site.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32444,7 +32397,6 @@ "cookies": false, "type": "", "demo": "sites\/list-frameworks.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all frameworks that are currently available on the server instance.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32495,7 +32447,6 @@ "cookies": false, "type": "", "demo": "sites\/list-specifications.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterList allowed site specifications for this instance.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32546,7 +32497,6 @@ "cookies": false, "type": "", "demo": "sites\/list-templates.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterList available site templates. You can use template details in [createSite](\/docs\/references\/cloud\/server-nodejs\/sites#create) method.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32670,7 +32620,6 @@ "cookies": false, "type": "", "demo": "sites\/get-template.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a site template using ID. You can use template details in [createSite](\/docs\/references\/cloud\/server-nodejs\/sites#create) method.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32729,7 +32678,6 @@ "cookies": false, "type": "", "demo": "sites\/list-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet usage metrics and statistics for all sites in the project. View statistics including total deployments, builds, logs, storage usage, and compute time. The response includes both current totals and historical data for each metric. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, defaults to 30 days.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32800,7 +32748,6 @@ "cookies": false, "type": "", "demo": "sites\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a site by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32861,7 +32808,6 @@ "cookies": false, "type": "", "demo": "sites\/update.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate site by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33128,7 +33074,6 @@ "cookies": false, "type": "", "demo": "sites\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a site by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33191,7 +33136,6 @@ "cookies": false, "type": "", "demo": "sites\/update-site-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate the site active deployment. Use this endpoint to switch the code deployment that should be used when visitor opens your site.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33270,7 +33214,6 @@ "cookies": false, "type": "", "demo": "sites\/list-deployments.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all the site's code deployments. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33361,7 +33304,6 @@ "cookies": false, "type": "upload", "demo": "sites\/create-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new site code deployment. Use this endpoint to upload a new version of your site code. To activate your newly uploaded code, you'll need to update the site's deployment to use your new deployment ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33463,7 +33405,6 @@ "cookies": false, "type": "", "demo": "sites\/create-duplicate-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new build for an existing site deployment. This endpoint allows you to rebuild a deployment with the updated site configuration, including its commands and output directory if they have been modified. The build process will be queued and executed asynchronously. The original deployment's code will be preserved and used for the new build.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33544,7 +33485,6 @@ "cookies": false, "type": "", "demo": "sites\/create-template-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a deployment based on a template.\n\nUse this endpoint with combination of [listTemplates](https:\/\/appwrite.io\/docs\/products\/sites\/templates) to find the template details.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33666,7 +33606,6 @@ "cookies": false, "type": "", "demo": "sites\/create-vcs-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a deployment when a site is connected to VCS.\n\nThis endpoint lets you create deployment from a branch, commit, or a tag.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33765,7 +33704,6 @@ "cookies": false, "type": "", "demo": "sites\/get-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a site deployment by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33829,7 +33767,6 @@ "cookies": false, "type": "", "demo": "sites\/delete-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a site deployment by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33898,7 +33835,6 @@ "cookies": false, "type": "location", "demo": "sites\/get-deployment-download.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a site deployment content by its unique ID. The endpoint response return with a 'Content-Disposition: attachment' header that tells the browser to start downloading the file to user downloads directory.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33985,7 +33921,6 @@ "cookies": false, "type": "", "demo": "sites\/update-deployment-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCancel an ongoing site deployment build. If the build is already in progress, it will be stopped and marked as canceled. If the build hasn't started yet, it will be marked as canceled without executing. You cannot cancel builds that have already completed (status 'ready') or failed. The response includes the final build status and details.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34054,7 +33989,6 @@ "cookies": false, "type": "", "demo": "sites\/list-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all site logs. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34136,7 +34070,6 @@ "cookies": false, "type": "", "demo": "sites\/get-log.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a site request log by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34202,7 +34135,6 @@ "cookies": false, "type": "", "demo": "sites\/delete-log.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a site log by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34271,7 +34203,6 @@ "cookies": false, "type": "", "demo": "sites\/get-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet usage metrics and statistics for a for a specific site. View statistics including total deployments, builds, executions, storage usage, and compute time. The response includes both current totals and historical data for each metric. Use the optional range parameter to specify the time window for historical data: 24h (last 24 hours), 30d (last 30 days), or 90d (last 90 days). If not specified, defaults to 30 days.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34350,7 +34281,6 @@ "cookies": false, "type": "", "demo": "sites\/list-variables.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all variables of a specific site.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34411,7 +34341,6 @@ "cookies": false, "type": "", "demo": "sites\/create-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new site variable. These variables can be accessed during build and runtime (server-side rendering) as environment variables.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34503,7 +34432,6 @@ "cookies": false, "type": "", "demo": "sites\/get-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a variable by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34572,7 +34500,6 @@ "cookies": false, "type": "", "demo": "sites\/update-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate variable by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34668,7 +34595,6 @@ "cookies": false, "type": "", "demo": "sites\/delete-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a variable by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34737,7 +34663,6 @@ "cookies": false, "type": "", "demo": "storage\/list-buckets.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-buckets.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34748,6 +34673,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-buckets.md", "auth": { "Project": [] } @@ -34820,7 +34746,6 @@ "cookies": false, "type": "", "demo": "storage\/create-bucket.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-bucket.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34831,6 +34756,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-bucket.md", "auth": { "Project": [] } @@ -34966,7 +34892,6 @@ "cookies": false, "type": "", "demo": "storage\/get-bucket.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-bucket.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34977,6 +34902,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-bucket.md", "auth": { "Project": [] } @@ -35027,7 +34953,6 @@ "cookies": false, "type": "", "demo": "storage\/update-bucket.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/update-bucket.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35038,6 +34963,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/update-bucket.md", "auth": { "Project": [] } @@ -35169,7 +35095,6 @@ "cookies": false, "type": "", "demo": "storage\/delete-bucket.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/delete-bucket.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35180,6 +35105,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/delete-bucket.md", "auth": { "Project": [] } @@ -35230,7 +35156,6 @@ "cookies": false, "type": "", "demo": "storage\/list-files.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-files.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35242,6 +35167,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-files.md", "auth": { "Project": [] } @@ -35323,7 +35249,6 @@ "cookies": false, "type": "upload", "demo": "storage\/create-file.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-file.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId},chunkId:{chunkId}", @@ -35335,6 +35260,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-file.md", "auth": { "Project": [] } @@ -35414,7 +35340,6 @@ "cookies": false, "type": "", "demo": "storage\/get-file.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35426,6 +35351,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file.md", "auth": { "Project": [] } @@ -35485,7 +35411,6 @@ "cookies": false, "type": "", "demo": "storage\/update-file.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/update-file.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -35497,6 +35422,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/update-file.md", "auth": { "Project": [] } @@ -35577,7 +35503,6 @@ "cookies": false, "type": "", "demo": "storage\/delete-file.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/delete-file.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -35589,6 +35514,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/delete-file.md", "auth": { "Project": [] } @@ -35648,7 +35574,6 @@ "cookies": false, "type": "location", "demo": "storage\/get-file-download.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-download.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35660,6 +35585,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-download.md", "auth": { "Project": [] } @@ -35728,7 +35654,6 @@ "cookies": false, "type": "location", "demo": "storage\/get-file-preview.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-preview.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35740,6 +35665,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-preview.md", "auth": { "Project": [] } @@ -35936,7 +35862,6 @@ "cookies": false, "type": "location", "demo": "storage\/get-file-view.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-view.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35948,6 +35873,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-view.md", "auth": { "Project": [] } @@ -36016,7 +35942,6 @@ "cookies": false, "type": "", "demo": "storage\/get-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36026,6 +35951,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-usage.md", "auth": { "Project": [] } @@ -36087,7 +36013,6 @@ "cookies": false, "type": "", "demo": "storage\/get-bucket-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-bucket-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36097,6 +36022,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-bucket-usage.md", "auth": { "Project": [] } @@ -36166,7 +36092,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36177,6 +36102,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list.md", "auth": { "Project": [] } @@ -36249,7 +36175,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36260,6 +36185,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create.md", "auth": { "Project": [] } @@ -36333,7 +36259,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-transactions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-transactions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36348,6 +36273,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-transactions.md", "auth": { "Project": [] } @@ -36403,7 +36329,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36418,6 +36343,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-transaction.md", "auth": { "Project": [] } @@ -36476,7 +36402,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36491,6 +36416,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-transaction.md", "auth": { "Project": [] } @@ -36542,7 +36468,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36557,6 +36482,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-transaction.md", "auth": { "Project": [] } @@ -36624,7 +36550,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36639,6 +36564,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-transaction.md", "auth": { "Project": [] } @@ -36692,7 +36618,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-operations.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-operations.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36707,6 +36632,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-operations.md", "auth": { "Project": [] } @@ -36776,7 +36702,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36789,6 +36714,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-usage.md", "methods": [ { "name": "listUsage", @@ -36873,7 +36799,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36884,6 +36809,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get.md", "auth": { "Project": [] } @@ -36934,7 +36860,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36945,6 +36870,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update.md", "auth": { "Project": [] } @@ -37014,7 +36940,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37025,6 +36950,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete.md", "auth": { "Project": [] } @@ -37075,7 +37001,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-tables.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-tables.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37089,6 +37014,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-tables.md", "auth": { "Project": [] } @@ -37169,7 +37095,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-table.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-table.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37183,6 +37108,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-table.md", "auth": { "Project": [] } @@ -37298,7 +37224,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-table.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-table.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37312,6 +37237,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-table.md", "auth": { "Project": [] } @@ -37370,7 +37296,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-table.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-table.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37384,6 +37309,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-table.md", "auth": { "Project": [] } @@ -37477,7 +37403,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-table.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-table.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37491,6 +37416,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-table.md", "auth": { "Project": [] } @@ -37549,7 +37475,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-columns.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-columns.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37563,6 +37488,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-columns.md", "auth": { "Project": [] } @@ -37644,7 +37570,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-boolean-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-boolean-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37658,6 +37583,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-boolean-column.md", "auth": { "Project": [] } @@ -37756,7 +37682,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-boolean-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-boolean-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37770,6 +37695,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-boolean-column.md", "auth": { "Project": [] } @@ -37870,7 +37796,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-datetime-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-datetime-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37884,6 +37809,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-datetime-column.md", "auth": { "Project": [] } @@ -37982,7 +37908,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-datetime-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-datetime-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37996,6 +37921,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-datetime-column.md", "auth": { "Project": [] } @@ -38096,7 +38022,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-email-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-email-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -38110,6 +38035,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-email-column.md", "auth": { "Project": [] } @@ -38208,7 +38134,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-email-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-email-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -38222,6 +38147,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-email-column.md", "auth": { "Project": [] } @@ -38322,7 +38248,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-enum-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-enum-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -38336,6 +38261,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-enum-column.md", "auth": { "Project": [] } @@ -38444,7 +38370,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-enum-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-enum-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -38458,6 +38383,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-enum-column.md", "auth": { "Project": [] } @@ -38568,7 +38494,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-float-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-float-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -38582,6 +38507,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-float-column.md", "auth": { "Project": [] } @@ -38694,7 +38620,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-float-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-float-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -38708,6 +38633,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-float-column.md", "auth": { "Project": [] } @@ -38822,7 +38748,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-integer-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-integer-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -38836,6 +38761,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-integer-column.md", "auth": { "Project": [] } @@ -38948,7 +38874,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-integer-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-integer-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -38962,6 +38887,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-integer-column.md", "auth": { "Project": [] } @@ -39076,7 +39002,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-ip-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-ip-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -39090,6 +39015,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-ip-column.md", "auth": { "Project": [] } @@ -39188,7 +39114,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-ip-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-ip-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -39202,6 +39127,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-ip-column.md", "auth": { "Project": [] } @@ -39302,7 +39228,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-line-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-line-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -39316,6 +39241,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-line-column.md", "auth": { "Project": [] } @@ -39408,7 +39334,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-line-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-line-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -39422,6 +39347,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-line-column.md", "auth": { "Project": [] } @@ -39521,7 +39447,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-point-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-point-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -39535,6 +39460,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-point-column.md", "auth": { "Project": [] } @@ -39627,7 +39553,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-point-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-point-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -39641,6 +39566,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-point-column.md", "auth": { "Project": [] } @@ -39740,7 +39666,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-polygon-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-polygon-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -39754,6 +39679,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-polygon-column.md", "auth": { "Project": [] } @@ -39846,7 +39772,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-polygon-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-polygon-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -39860,6 +39785,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-polygon-column.md", "auth": { "Project": [] } @@ -39959,7 +39885,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-relationship-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-relationship-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -39973,6 +39898,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-relationship-column.md", "auth": { "Project": [] } @@ -40099,7 +40025,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-string-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-string-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -40113,6 +40038,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-string-column.md", "auth": { "Project": [] } @@ -40224,7 +40150,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-string-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-string-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -40238,6 +40163,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-string-column.md", "auth": { "Project": [] } @@ -40345,7 +40271,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-url-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-url-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -40359,6 +40284,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-url-column.md", "auth": { "Project": [] } @@ -40457,7 +40383,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-url-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-url-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -40471,6 +40396,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-url-column.md", "auth": { "Project": [] } @@ -40600,7 +40526,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -40614,6 +40539,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-column.md", "auth": { "Project": [] } @@ -40674,7 +40600,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -40688,6 +40613,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-column.md", "auth": { "Project": [] } @@ -40755,7 +40681,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-relationship-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-relationship-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -40769,6 +40694,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-relationship-column.md", "auth": { "Project": [] } @@ -40864,7 +40790,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-indexes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-indexes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -40878,6 +40803,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-indexes.md", "auth": { "Project": [] } @@ -40957,7 +40883,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-index.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -40971,6 +40896,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-index.md", "auth": { "Project": [] } @@ -41096,7 +41022,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-index.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -41110,6 +41035,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-index.md", "auth": { "Project": [] } @@ -41170,7 +41096,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-index.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -41184,6 +41109,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-index.md", "auth": { "Project": [] } @@ -41249,7 +41175,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-table-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-table-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -41262,6 +41187,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-table-logs.md", "auth": { "Project": [] } @@ -41331,7 +41257,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-rows.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-rows.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -41346,6 +41271,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-rows.md", "auth": { "Project": [] } @@ -41434,7 +41360,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-row.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -41449,6 +41374,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-row.md", "methods": [ { "name": "createRow", @@ -41616,7 +41542,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/upsert-rows.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/upsert-rows.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -41630,6 +41555,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/upsert-rows.md", "methods": [ { "name": "upsertRows", @@ -41746,7 +41672,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-rows.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-rows.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -41760,6 +41685,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-rows.md", "auth": { "Project": [] } @@ -41849,7 +41775,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-rows.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-rows.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -41863,6 +41788,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-rows.md", "auth": { "Project": [] } @@ -41946,7 +41872,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-row.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -41961,6 +41886,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-row.md", "auth": { "Project": [] } @@ -42048,7 +41974,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/upsert-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/upsert-row.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -42063,6 +41988,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/upsert-row.md", "methods": [ { "name": "upsertRow", @@ -42194,7 +42120,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-row.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -42209,6 +42134,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-row.md", "auth": { "Project": [] } @@ -42303,7 +42229,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-row.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -42318,6 +42243,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-row.md", "auth": { "Project": [] } @@ -42401,7 +42327,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-row-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-row-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -42414,6 +42339,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-row-logs.md", "auth": { "Project": [] } @@ -42493,7 +42419,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/decrement-row-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/decrement-row-column.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -42508,6 +42433,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/decrement-row-column.md", "auth": { "Project": [] } @@ -42613,7 +42539,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/increment-row-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/increment-row-column.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -42628,6 +42553,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/increment-row-column.md", "auth": { "Project": [] } @@ -42731,7 +42657,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-table-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-table-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -42744,6 +42669,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-table-usage.md", "auth": { "Project": [] } @@ -42821,7 +42747,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-database-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -42834,6 +42759,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-database-usage.md", "methods": [ { "name": "getUsage", @@ -42929,7 +42855,6 @@ "cookies": false, "type": "", "demo": "teams\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-teams.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -42941,6 +42866,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-teams.md", "auth": { "Project": [] } @@ -43014,7 +42940,6 @@ "cookies": false, "type": "", "demo": "teams\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -43026,6 +42951,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team.md", "auth": { "Project": [] } @@ -43105,7 +43031,6 @@ "cookies": false, "type": "", "demo": "teams\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -43117,6 +43042,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team.md", "auth": { "Project": [] } @@ -43168,7 +43094,6 @@ "cookies": false, "type": "", "demo": "teams\/update-name.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-name.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -43180,6 +43105,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-name.md", "auth": { "Project": [] } @@ -43244,7 +43170,6 @@ "cookies": false, "type": "", "demo": "teams\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -43256,6 +43181,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team.md", "auth": { "Project": [] } @@ -43307,7 +43233,6 @@ "cookies": false, "type": "", "demo": "teams\/list-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -43317,6 +43242,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-logs.md", "auth": { "Project": [] } @@ -43387,7 +43313,6 @@ "cookies": false, "type": "", "demo": "teams\/list-memberships.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-team-members.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -43399,6 +43324,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-team-members.md", "auth": { "Project": [] } @@ -43480,7 +43406,6 @@ "cookies": false, "type": "", "demo": "teams\/create-membership.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team-membership.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -43492,6 +43417,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team-membership.md", "auth": { "Project": [] } @@ -43601,7 +43527,6 @@ "cookies": false, "type": "", "demo": "teams\/get-membership.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-member.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -43613,6 +43538,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-member.md", "auth": { "Project": [] } @@ -43672,7 +43598,6 @@ "cookies": false, "type": "", "demo": "teams\/update-membership.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -43684,6 +43609,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership.md", "auth": { "Project": [] } @@ -43766,7 +43692,6 @@ "cookies": false, "type": "", "demo": "teams\/delete-membership.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team-membership.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -43778,6 +43703,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team-membership.md", "auth": { "Project": [] } @@ -43839,7 +43765,6 @@ "cookies": false, "type": "", "demo": "teams\/update-membership-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -43851,6 +43776,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership-status.md", "auth": { "Project": [] } @@ -43934,7 +43860,6 @@ "cookies": false, "type": "", "demo": "teams\/get-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -43946,6 +43871,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-prefs.md", "auth": { "Project": [] } @@ -43996,7 +43922,6 @@ "cookies": false, "type": "", "demo": "teams\/update-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -44008,6 +43933,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-prefs.md", "auth": { "Project": [] } @@ -44076,7 +44002,6 @@ "cookies": false, "type": "", "demo": "tokens\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterList all the tokens created for a specific file or bucket. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -44166,7 +44091,6 @@ "cookies": false, "type": "", "demo": "tokens\/create-file-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new token. A token is linked to a file. Token can be passed as a request URL search parameter.", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -44251,7 +44175,6 @@ "cookies": false, "type": "", "demo": "tokens\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a token by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -44312,7 +44235,6 @@ "cookies": false, "type": "", "demo": "tokens\/update.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate a token by its unique ID. Use this endpoint to update a token's expiry date.", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -44384,7 +44306,6 @@ "cookies": false, "type": "", "demo": "tokens\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a token by its unique ID.", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -44445,7 +44366,6 @@ "cookies": false, "type": "", "demo": "users\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-users.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -44456,6 +44376,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-users.md", "auth": { "Project": [] } @@ -44528,7 +44449,6 @@ "cookies": false, "type": "", "demo": "users\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -44539,6 +44459,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-user.md", "auth": { "Project": [] } @@ -44627,7 +44548,6 @@ "cookies": false, "type": "", "demo": "users\/create-argon-2-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-argon2-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -44638,6 +44558,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-argon2-user.md", "auth": { "Project": [] } @@ -44720,7 +44641,6 @@ "cookies": false, "type": "", "demo": "users\/create-bcrypt-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-bcrypt-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -44731,6 +44651,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-bcrypt-user.md", "auth": { "Project": [] } @@ -44811,7 +44732,6 @@ "cookies": false, "type": "", "demo": "users\/list-identities.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-identities.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -44822,6 +44742,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-identities.md", "auth": { "Project": [] } @@ -44891,7 +44812,6 @@ "cookies": false, "type": "", "demo": "users\/delete-identity.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-identity.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -44902,6 +44822,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-identity.md", "auth": { "Project": [] } @@ -44954,7 +44875,6 @@ "cookies": false, "type": "", "demo": "users\/create-md-5-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-md5-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -44965,6 +44885,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-md5-user.md", "auth": { "Project": [] } @@ -45047,7 +44968,6 @@ "cookies": false, "type": "", "demo": "users\/create-ph-pass-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-phpass-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -45058,6 +44978,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-phpass-user.md", "auth": { "Project": [] } @@ -45140,7 +45061,6 @@ "cookies": false, "type": "", "demo": "users\/create-scrypt-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-scrypt-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -45151,6 +45071,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-scrypt-user.md", "auth": { "Project": [] } @@ -45268,7 +45189,6 @@ "cookies": false, "type": "", "demo": "users\/create-scrypt-modified-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-scrypt-modified-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -45279,6 +45199,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-scrypt-modified-user.md", "auth": { "Project": [] } @@ -45382,7 +45303,6 @@ "cookies": false, "type": "", "demo": "users\/create-sha-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-sha-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -45393,6 +45313,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-sha-user.md", "auth": { "Project": [] } @@ -45494,7 +45415,6 @@ "cookies": false, "type": "", "demo": "users\/get-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -45504,6 +45424,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-usage.md", "auth": { "Project": [] } @@ -45565,7 +45486,6 @@ "cookies": false, "type": "", "demo": "users\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -45576,6 +45496,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user.md", "auth": { "Project": [] } @@ -45621,7 +45542,6 @@ "cookies": false, "type": "", "demo": "users\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -45632,6 +45552,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete.md", "auth": { "Project": [] } @@ -45684,7 +45605,6 @@ "cookies": false, "type": "", "demo": "users\/update-email.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-email.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -45695,6 +45615,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-email.md", "auth": { "Project": [] } @@ -45765,7 +45686,6 @@ "cookies": false, "type": "", "demo": "users\/create-jwt.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-user-jwt.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -45776,6 +45696,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-user-jwt.md", "auth": { "Project": [] } @@ -45849,7 +45770,6 @@ "cookies": false, "type": "", "demo": "users\/update-labels.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-labels.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -45860,6 +45780,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-labels.md", "auth": { "Project": [] } @@ -45931,7 +45852,6 @@ "cookies": false, "type": "", "demo": "users\/list-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -45942,6 +45862,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-logs.md", "auth": { "Project": [] } @@ -46013,7 +45934,6 @@ "cookies": false, "type": "", "demo": "users\/list-memberships.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-memberships.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -46024,6 +45944,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-memberships.md", "auth": { "Project": [] } @@ -46106,7 +46027,6 @@ "cookies": false, "type": "", "demo": "users\/update-mfa.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-mfa.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -46117,6 +46037,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-mfa.md", "deprecated": { "since": "1.8.0", "replaceWith": "users.updateMFA" @@ -46242,7 +46163,6 @@ "cookies": false, "type": "", "demo": "users\/delete-mfa-authenticator.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-mfa-authenticator.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -46253,6 +46173,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-mfa-authenticator.md", "deprecated": { "since": "1.8.0", "replaceWith": "users.deleteMFAAuthenticator" @@ -46374,7 +46295,6 @@ "cookies": false, "type": "", "demo": "users\/list-mfa-factors.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-mfa-factors.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -46385,6 +46305,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-mfa-factors.md", "deprecated": { "since": "1.8.0", "replaceWith": "users.listMFAFactors" @@ -46491,7 +46412,6 @@ "cookies": false, "type": "", "demo": "users\/get-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -46502,6 +46422,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "users.getMFARecoveryCodes" @@ -46608,7 +46529,6 @@ "cookies": false, "type": "", "demo": "users\/update-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -46619,6 +46539,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "users.updateMFARecoveryCodes" @@ -46725,7 +46646,6 @@ "cookies": false, "type": "", "demo": "users\/create-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -46736,6 +46656,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "users.createMFARecoveryCodes" @@ -46844,7 +46765,6 @@ "cookies": false, "type": "", "demo": "users\/update-name.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-name.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -46855,6 +46775,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-name.md", "auth": { "Project": [] } @@ -46925,7 +46846,6 @@ "cookies": false, "type": "", "demo": "users\/update-password.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-password.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -46936,6 +46856,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-password.md", "auth": { "Project": [] } @@ -47006,7 +46927,6 @@ "cookies": false, "type": "", "demo": "users\/update-phone.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-phone.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47017,6 +46937,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-phone.md", "auth": { "Project": [] } @@ -47085,7 +47006,6 @@ "cookies": false, "type": "", "demo": "users\/get-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47096,6 +47016,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user-prefs.md", "auth": { "Project": [] } @@ -47146,7 +47067,6 @@ "cookies": false, "type": "", "demo": "users\/update-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47157,6 +47077,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-prefs.md", "auth": { "Project": [] } @@ -47225,7 +47146,6 @@ "cookies": false, "type": "", "demo": "users\/list-sessions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-sessions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47236,6 +47156,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-sessions.md", "auth": { "Project": [] } @@ -47295,7 +47216,6 @@ "cookies": false, "type": "", "demo": "users\/create-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-session.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47306,6 +47226,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-session.md", "auth": { "Project": [] } @@ -47351,7 +47272,6 @@ "cookies": false, "type": "", "demo": "users\/delete-sessions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-user-sessions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47362,6 +47282,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-user-sessions.md", "auth": { "Project": [] } @@ -47409,7 +47330,6 @@ "cookies": false, "type": "", "demo": "users\/delete-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-user-session.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47420,6 +47340,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-user-session.md", "auth": { "Project": [] } @@ -47480,7 +47401,6 @@ "cookies": false, "type": "", "demo": "users\/update-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47491,6 +47411,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-status.md", "auth": { "Project": [] } @@ -47559,7 +47480,6 @@ "cookies": false, "type": "", "demo": "users\/list-targets.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-targets.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47570,6 +47490,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-targets.md", "auth": { "Project": [] } @@ -47641,7 +47562,6 @@ "cookies": false, "type": "", "demo": "users\/create-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47652,6 +47572,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-target.md", "auth": { "Project": [] } @@ -47753,7 +47674,6 @@ "cookies": false, "type": "", "demo": "users\/get-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47764,6 +47684,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user-target.md", "auth": { "Project": [] } @@ -47822,7 +47743,6 @@ "cookies": false, "type": "", "demo": "users\/update-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47833,6 +47753,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-target.md", "auth": { "Project": [] } @@ -47913,7 +47834,6 @@ "cookies": false, "type": "", "demo": "users\/delete-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47924,6 +47844,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-target.md", "auth": { "Project": [] } @@ -47984,7 +47905,6 @@ "cookies": false, "type": "", "demo": "users\/create-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-token.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -47995,6 +47915,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-token.md", "auth": { "Project": [] } @@ -48068,7 +47989,6 @@ "cookies": false, "type": "", "demo": "users\/update-email-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-email-verification.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -48079,6 +47999,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-email-verification.md", "auth": { "Project": [] } @@ -48149,7 +48070,6 @@ "cookies": false, "type": "", "demo": "users\/update-phone-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-phone-verification.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -48160,6 +48080,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-phone-verification.md", "auth": { "Project": [] } @@ -48230,7 +48151,6 @@ "cookies": false, "type": "", "demo": "vcs\/create-repository-detection.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/create-repository-detection.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -48240,6 +48160,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/create-repository-detection.md", "auth": { "Project": [] } @@ -48326,7 +48247,6 @@ "cookies": false, "type": "", "demo": "vcs\/list-repositories.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/list-repositories.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -48336,6 +48256,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/list-repositories.md", "auth": { "Project": [] } @@ -48420,7 +48341,6 @@ "cookies": false, "type": "", "demo": "vcs\/create-repository.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/create-repository.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -48430,6 +48350,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/create-repository.md", "auth": { "Project": [] } @@ -48504,7 +48425,6 @@ "cookies": false, "type": "", "demo": "vcs\/get-repository.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/get-repository.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -48514,6 +48434,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/get-repository.md", "auth": { "Project": [] } @@ -48571,7 +48492,6 @@ "cookies": false, "type": "", "demo": "vcs\/list-repository-branches.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/list-repository-branches.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -48581,6 +48501,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/list-repository-branches.md", "auth": { "Project": [] } @@ -48638,7 +48559,6 @@ "cookies": false, "type": "", "demo": "vcs\/get-repository-contents.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/get-repository-contents.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -48648,6 +48568,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/get-repository-contents.md", "auth": { "Project": [] } @@ -48722,7 +48643,6 @@ "cookies": false, "type": "", "demo": "vcs\/update-external-deployments.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/update-external-deployments.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -48732,6 +48652,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/update-external-deployments.md", "auth": { "Project": [] } @@ -48807,7 +48728,6 @@ "cookies": false, "type": "", "demo": "vcs\/list-installations.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/list-installations.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -48817,6 +48737,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/list-installations.md", "auth": { "Project": [] } @@ -48888,7 +48809,6 @@ "cookies": false, "type": "", "demo": "vcs\/get-installation.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/get-installation.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -48898,6 +48818,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/get-installation.md", "auth": { "Project": [] } @@ -48942,7 +48863,6 @@ "cookies": false, "type": "", "demo": "vcs\/delete-installation.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/delete-installation.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -48952,6 +48872,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/vcs\/delete-installation.md", "auth": { "Project": [] } diff --git a/app/config/specs/swagger2-latest-server.json b/app/config/specs/swagger2-latest-server.json index c7b981df48..e4337961f6 100644 --- a/app/config/specs/swagger2-latest-server.json +++ b/app/config/specs/swagger2-latest-server.json @@ -107,7 +107,6 @@ "cookies": false, "type": "", "demo": "account\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -119,6 +118,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get.md", "auth": { "Project": [], "Session": [] @@ -161,7 +161,6 @@ "cookies": false, "type": "", "demo": "account\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -173,6 +172,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create.md", "auth": { "Project": [], "Session": [] @@ -257,7 +257,6 @@ "cookies": false, "type": "", "demo": "account\/update-email.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-email.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -269,6 +268,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-email.md", "auth": { "Project": [], "Session": [] @@ -338,7 +338,6 @@ "cookies": false, "type": "", "demo": "account\/list-identities.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-identities.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -350,6 +349,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-identities.md", "auth": { "Project": [], "Session": [] @@ -412,7 +412,6 @@ "cookies": false, "type": "", "demo": "account\/delete-identity.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-identity.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -424,6 +423,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-identity.md", "auth": { "Project": [], "Session": [] @@ -478,7 +478,6 @@ "cookies": false, "type": "", "demo": "account\/create-jwt.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-jwt.md", "rate-limit": 100, "rate-time": 3600, "rate-key": "url:{url},userId:{userId}", @@ -490,6 +489,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-jwt.md", "auth": { "Project": [], "Session": [] @@ -532,7 +532,6 @@ "cookies": false, "type": "", "demo": "account\/list-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -544,6 +543,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-logs.md", "auth": { "Project": [], "Session": [] @@ -611,7 +611,6 @@ "cookies": false, "type": "", "demo": "account\/update-mfa.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -623,6 +622,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa.md", "auth": { "Project": [], "Session": [] @@ -687,7 +687,6 @@ "cookies": false, "type": "", "demo": "account\/create-mfa-authenticator.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-authenticator.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -699,6 +698,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-authenticator.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.createMFAAuthenticator" @@ -814,7 +814,6 @@ "cookies": false, "type": "", "demo": "account\/update-mfa-authenticator.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-authenticator.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -826,6 +825,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-authenticator.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.updateMFAAuthenticator" @@ -958,7 +958,6 @@ "cookies": false, "type": "", "demo": "account\/delete-mfa-authenticator.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-mfa-authenticator.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -970,6 +969,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-mfa-authenticator.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.deleteMFAAuthenticator" @@ -1085,7 +1085,6 @@ "cookies": false, "type": "", "demo": "account\/create-mfa-challenge.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-challenge.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},userId:{userId}", @@ -1097,6 +1096,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-challenge.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.createMFAChallenge" @@ -1225,7 +1225,6 @@ "cookies": false, "type": "", "demo": "account\/update-mfa-challenge.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-challenge.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},challengeId:{param-challengeId}", @@ -1237,6 +1236,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-challenge.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.updateMFAChallenge" @@ -1368,7 +1368,6 @@ "cookies": false, "type": "", "demo": "account\/list-mfa-factors.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-mfa-factors.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1380,6 +1379,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-mfa-factors.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.listMFAFactors" @@ -1472,7 +1472,6 @@ "cookies": false, "type": "", "demo": "account\/get-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1484,6 +1483,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.getMFARecoveryCodes" @@ -1576,7 +1576,6 @@ "cookies": false, "type": "", "demo": "account\/create-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1588,6 +1587,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.createMFARecoveryCodes" @@ -1680,7 +1680,6 @@ "cookies": false, "type": "", "demo": "account\/update-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1692,6 +1691,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "account.updateMFARecoveryCodes" @@ -1786,7 +1786,6 @@ "cookies": false, "type": "", "demo": "account\/update-name.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-name.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1798,6 +1797,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-name.md", "auth": { "Project": [], "Session": [] @@ -1862,7 +1862,6 @@ "cookies": false, "type": "", "demo": "account\/update-password.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-password.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1874,6 +1873,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-password.md", "auth": { "Project": [], "Session": [] @@ -1944,7 +1944,6 @@ "cookies": false, "type": "", "demo": "account\/update-phone.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-phone.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -1956,6 +1955,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-phone.md", "auth": { "Project": [], "Session": [] @@ -2025,7 +2025,6 @@ "cookies": false, "type": "", "demo": "account\/get-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2037,6 +2036,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-prefs.md", "auth": { "Project": [], "Session": [] @@ -2079,7 +2079,6 @@ "cookies": false, "type": "", "demo": "account\/update-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2091,6 +2090,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-prefs.md", "auth": { "Project": [], "Session": [] @@ -2155,7 +2155,6 @@ "cookies": false, "type": "", "demo": "account\/create-recovery.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-recovery.md", "rate-limit": 10, "rate-time": 3600, "rate-key": [ @@ -2170,6 +2169,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-recovery.md", "auth": { "Project": [], "Session": [] @@ -2239,7 +2239,6 @@ "cookies": false, "type": "", "demo": "account\/update-recovery.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-recovery.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},userId:{param-userId}", @@ -2251,6 +2250,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-recovery.md", "auth": { "Project": [], "Session": [] @@ -2327,7 +2327,6 @@ "cookies": false, "type": "", "demo": "account\/list-sessions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-sessions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2339,6 +2338,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/list-sessions.md", "auth": { "Project": [], "Session": [] @@ -2376,7 +2376,6 @@ "cookies": false, "type": "", "demo": "account\/delete-sessions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-sessions.md", "rate-limit": 100, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2388,6 +2387,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-sessions.md", "auth": { "Project": [], "Session": [] @@ -2432,7 +2432,6 @@ "cookies": false, "type": "", "demo": "account\/create-anonymous-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-anonymous.md", "rate-limit": 50, "rate-time": 3600, "rate-key": "ip:{ip}", @@ -2444,6 +2443,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-anonymous.md", "auth": { "Project": [], "Session": [] @@ -2488,7 +2488,6 @@ "cookies": false, "type": "", "demo": "account\/create-email-password-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-email-password.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},email:{param-email}", @@ -2500,6 +2499,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session-email-password.md", "auth": { "Project": [], "Session": [] @@ -2571,7 +2571,6 @@ "cookies": false, "type": "", "demo": "account\/update-magic-url-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "ip:{ip},userId:{param-userId}", @@ -2583,6 +2582,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "deprecated": { "since": "1.6.0", "replaceWith": "account.createSession" @@ -2658,7 +2658,6 @@ "cookies": false, "type": "", "demo": "account\/update-phone-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "ip:{ip},userId:{param-userId}", @@ -2670,6 +2669,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "deprecated": { "since": "1.6.0", "replaceWith": "account.createSession" @@ -2745,7 +2745,6 @@ "cookies": false, "type": "", "demo": "account\/create-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "ip:{ip},userId:{param-userId}", @@ -2757,6 +2756,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-session.md", "auth": { "Project": [], "Session": [] @@ -2826,7 +2826,6 @@ "cookies": false, "type": "", "demo": "account\/get-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-session.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2838,6 +2837,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/get-session.md", "auth": { "Project": [], "Session": [] @@ -2890,7 +2890,6 @@ "cookies": false, "type": "", "demo": "account\/update-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-session.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2902,6 +2901,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-session.md", "auth": { "Project": [], "Session": [] @@ -2949,7 +2949,6 @@ "cookies": false, "type": "", "demo": "account\/delete-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-session.md", "rate-limit": 100, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -2961,6 +2960,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/delete-session.md", "auth": { "Project": [], "Session": [] @@ -3015,7 +3015,6 @@ "cookies": false, "type": "", "demo": "account\/update-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -3027,6 +3026,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-status.md", "auth": { "Project": [], "Session": [] @@ -3071,7 +3071,6 @@ "cookies": false, "type": "", "demo": "account\/create-email-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-email.md", "rate-limit": 10, "rate-time": 3600, "rate-key": [ @@ -3086,6 +3085,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-email.md", "auth": { "Project": [], "Session": [] @@ -3163,7 +3163,6 @@ "cookies": false, "type": "", "demo": "account\/create-magic-url-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-magic-url.md", "rate-limit": 60, "rate-time": 3600, "rate-key": [ @@ -3178,6 +3177,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-magic-url.md", "auth": { "Project": [], "Session": [] @@ -3256,7 +3256,6 @@ "cookies": false, "type": "webAuth", "demo": "account\/create-o-auth-2-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-oauth2.md", "rate-limit": 50, "rate-time": 3600, "rate-key": "ip:{ip}", @@ -3268,6 +3267,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-oauth2.md", "auth": { "Project": [], "Session": [] @@ -3398,7 +3398,6 @@ "cookies": false, "type": "", "demo": "account\/create-phone-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-phone.md", "rate-limit": 10, "rate-time": 3600, "rate-key": [ @@ -3413,6 +3412,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-token-phone.md", "auth": { "Project": [], "Session": [] @@ -3484,7 +3484,6 @@ "cookies": false, "type": "", "demo": "account\/create-email-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-email-verification.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},userId:{userId}", @@ -3496,6 +3495,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-email-verification.md", "methods": [ { "name": "createEmailVerification", @@ -3612,7 +3612,6 @@ "cookies": false, "type": "", "demo": "account\/update-email-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-email-verification.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},userId:{param-userId}", @@ -3624,6 +3623,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-email-verification.md", "methods": [ { "name": "updateEmailVerification", @@ -3753,7 +3753,6 @@ "cookies": false, "type": "", "demo": "account\/create-phone-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-phone-verification.md", "rate-limit": 10, "rate-time": 3600, "rate-key": [ @@ -3768,6 +3767,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/create-phone-verification.md", "auth": { "Project": [], "Session": [] @@ -3810,7 +3810,6 @@ "cookies": false, "type": "", "demo": "account\/update-phone-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-phone-verification.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "userId:{param-userId}", @@ -3822,6 +3821,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/account\/update-phone-verification.md", "auth": { "Project": [], "Session": [] @@ -3891,7 +3891,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-browser.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-browser.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -3903,6 +3902,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-browser.md", "auth": { "Project": [], "Session": [] @@ -4019,7 +4019,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-credit-card.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-credit-card.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4031,6 +4030,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-credit-card.md", "auth": { "Project": [], "Session": [] @@ -4153,7 +4153,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-favicon.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-favicon.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4165,6 +4164,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-favicon.md", "auth": { "Project": [], "Session": [] @@ -4219,7 +4219,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-flag.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-flag.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4231,6 +4230,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-flag.md", "auth": { "Project": [], "Session": [] @@ -4709,7 +4709,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-image.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-image.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4721,6 +4720,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-image.md", "auth": { "Project": [], "Session": [] @@ -4795,7 +4795,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-initials.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-initials.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4807,6 +4806,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-initials.md", "auth": { "Project": [], "Session": [] @@ -4889,7 +4889,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-qr.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-qr.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4901,6 +4900,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-qr.md", "auth": { "Project": [], "Session": [] @@ -4983,7 +4983,6 @@ "cookies": false, "type": "location", "demo": "avatars\/get-screenshot.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-screenshot.md", "rate-limit": 60, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -4995,6 +4994,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/avatars\/get-screenshot.md", "auth": { "Project": [], "Session": [] @@ -5698,7 +5698,6 @@ "cookies": false, "type": "", "demo": "databases\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -5709,6 +5708,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.list" @@ -5816,7 +5816,6 @@ "cookies": false, "type": "", "demo": "databases\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -5827,6 +5826,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.create" @@ -5938,7 +5938,6 @@ "cookies": false, "type": "", "demo": "databases\/list-transactions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-transactions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -5950,6 +5949,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-transactions.md", "auth": { "Project": [], "Key": [] @@ -6007,7 +6007,6 @@ "cookies": false, "type": "", "demo": "databases\/create-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6019,6 +6018,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-transaction.md", "auth": { "Project": [], "Key": [] @@ -6079,7 +6079,6 @@ "cookies": false, "type": "", "demo": "databases\/get-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6091,6 +6090,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-transaction.md", "auth": { "Project": [], "Key": [] @@ -6144,7 +6144,6 @@ "cookies": false, "type": "", "demo": "databases\/update-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6156,6 +6155,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-transaction.md", "auth": { "Project": [], "Key": [] @@ -6225,7 +6225,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6237,6 +6236,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-transaction.md", "auth": { "Project": [], "Key": [] @@ -6292,7 +6292,6 @@ "cookies": false, "type": "", "demo": "databases\/create-operations.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-operations.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6304,6 +6303,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-operations.md", "auth": { "Project": [], "Key": [] @@ -6375,7 +6375,6 @@ "cookies": false, "type": "", "demo": "databases\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6386,6 +6385,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.get" @@ -6471,7 +6471,6 @@ "cookies": false, "type": "", "demo": "databases\/update.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6482,6 +6481,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.update" @@ -6589,7 +6589,6 @@ "cookies": false, "type": "", "demo": "databases\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6600,6 +6599,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.delete" @@ -6684,7 +6684,6 @@ "cookies": false, "type": "", "demo": "databases\/list-collections.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-collections.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6695,6 +6694,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-collections.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.listTables" @@ -6780,7 +6780,6 @@ "cookies": false, "type": "", "demo": "databases\/create-collection.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-collection.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6791,6 +6790,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-collection.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createTable" @@ -6911,7 +6911,6 @@ "cookies": false, "type": "", "demo": "databases\/get-collection.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-collection.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6922,6 +6921,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-collection.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.getTable" @@ -6985,7 +6985,6 @@ "cookies": false, "type": "", "demo": "databases\/update-collection.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-collection.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -6996,6 +6995,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-collection.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateTable" @@ -7094,7 +7094,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-collection.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-collection.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7105,6 +7104,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-collection.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.deleteTable" @@ -7168,7 +7168,6 @@ "cookies": false, "type": "", "demo": "databases\/list-attributes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-attributes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7179,6 +7178,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-attributes.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.listColumns" @@ -7265,7 +7265,6 @@ "cookies": false, "type": "", "demo": "databases\/create-boolean-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-boolean-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7276,6 +7275,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-boolean-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createBooleanColumn" @@ -7379,7 +7379,6 @@ "cookies": false, "type": "", "demo": "databases\/update-boolean-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-boolean-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7390,6 +7389,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-boolean-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateBooleanColumn" @@ -7495,7 +7495,6 @@ "cookies": false, "type": "", "demo": "databases\/create-datetime-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-datetime-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7506,6 +7505,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-datetime-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createDatetimeColumn" @@ -7609,7 +7609,6 @@ "cookies": false, "type": "", "demo": "databases\/update-datetime-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-datetime-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7620,6 +7619,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-datetime-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateDatetimeColumn" @@ -7725,7 +7725,6 @@ "cookies": false, "type": "", "demo": "databases\/create-email-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-email-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7736,6 +7735,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-email-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createEmailColumn" @@ -7839,7 +7839,6 @@ "cookies": false, "type": "", "demo": "databases\/update-email-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-email-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7850,6 +7849,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-email-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateEmailColumn" @@ -7955,7 +7955,6 @@ "cookies": false, "type": "", "demo": "databases\/create-enum-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-enum-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -7966,6 +7965,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-enum-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createEnumColumn" @@ -8079,7 +8079,6 @@ "cookies": false, "type": "", "demo": "databases\/update-enum-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-enum-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8090,6 +8089,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-enum-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateEnumColumn" @@ -8205,7 +8205,6 @@ "cookies": false, "type": "", "demo": "databases\/create-float-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-float-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8216,6 +8215,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-float-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createFloatColumn" @@ -8333,7 +8333,6 @@ "cookies": false, "type": "", "demo": "databases\/update-float-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-float-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8344,6 +8343,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-float-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateFloatColumn" @@ -8463,7 +8463,6 @@ "cookies": false, "type": "", "demo": "databases\/create-integer-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-integer-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8474,6 +8473,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-integer-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createIntegerColumn" @@ -8591,7 +8591,6 @@ "cookies": false, "type": "", "demo": "databases\/update-integer-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-integer-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8602,6 +8601,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-integer-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateIntegerColumn" @@ -8721,7 +8721,6 @@ "cookies": false, "type": "", "demo": "databases\/create-ip-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-ip-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8732,6 +8731,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-ip-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createIpColumn" @@ -8835,7 +8835,6 @@ "cookies": false, "type": "", "demo": "databases\/update-ip-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-ip-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8846,6 +8845,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-ip-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateIpColumn" @@ -8951,7 +8951,6 @@ "cookies": false, "type": "", "demo": "databases\/create-line-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-line-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -8962,6 +8961,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-line-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createLineColumn" @@ -9059,7 +9059,6 @@ "cookies": false, "type": "", "demo": "databases\/update-line-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-line-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9070,6 +9069,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-line-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateLineColumn" @@ -9174,7 +9174,6 @@ "cookies": false, "type": "", "demo": "databases\/create-point-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-point-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9185,6 +9184,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-point-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createPointColumn" @@ -9282,7 +9282,6 @@ "cookies": false, "type": "", "demo": "databases\/update-point-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-point-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9293,6 +9292,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-point-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updatePointColumn" @@ -9397,7 +9397,6 @@ "cookies": false, "type": "", "demo": "databases\/create-polygon-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-polygon-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9408,6 +9407,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-polygon-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createPolygonColumn" @@ -9505,7 +9505,6 @@ "cookies": false, "type": "", "demo": "databases\/update-polygon-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-polygon-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9516,6 +9515,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-polygon-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updatePolygonColumn" @@ -9620,7 +9620,6 @@ "cookies": false, "type": "", "demo": "databases\/create-relationship-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-relationship-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9631,6 +9630,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-relationship-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createRelationshipColumn" @@ -9762,7 +9762,6 @@ "cookies": false, "type": "", "demo": "databases\/create-string-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-string-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9773,6 +9772,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-string-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createStringColumn" @@ -9889,7 +9889,6 @@ "cookies": false, "type": "", "demo": "databases\/update-string-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-string-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -9900,6 +9899,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-string-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateStringColumn" @@ -10012,7 +10012,6 @@ "cookies": false, "type": "", "demo": "databases\/create-url-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-url-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10023,6 +10022,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-url-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createUrlColumn" @@ -10126,7 +10126,6 @@ "cookies": false, "type": "", "demo": "databases\/update-url-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-url-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10137,6 +10136,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-url-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateUrlColumn" @@ -10271,7 +10271,6 @@ "cookies": false, "type": "", "demo": "databases\/get-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10282,6 +10281,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.getColumn" @@ -10347,7 +10347,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10358,6 +10357,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.deleteColumn" @@ -10430,7 +10430,6 @@ "cookies": false, "type": "", "demo": "databases\/update-relationship-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-relationship-attribute.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10441,6 +10440,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-relationship-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateRelationshipColumn" @@ -10541,7 +10541,6 @@ "cookies": false, "type": "", "demo": "databases\/list-documents.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-documents.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -10553,6 +10552,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-documents.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.listRows" @@ -10647,7 +10647,6 @@ "cookies": false, "type": "", "demo": "databases\/create-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-document.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -10659,6 +10658,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createRow" @@ -10842,7 +10842,6 @@ "cookies": false, "type": "", "demo": "databases\/upsert-documents.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-documents.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -10853,6 +10852,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-documents.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.upsertRows" @@ -10979,7 +10979,6 @@ "cookies": false, "type": "", "demo": "databases\/update-documents.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-documents.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -10990,6 +10989,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-documents.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateRows" @@ -11084,7 +11084,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-documents.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-documents.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -11095,6 +11094,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-documents.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.deleteRows" @@ -11183,7 +11183,6 @@ "cookies": false, "type": "", "demo": "databases\/get-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-document.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -11195,6 +11194,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.getRow" @@ -11288,7 +11288,6 @@ "cookies": false, "type": "", "demo": "databases\/upsert-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-document.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -11300,6 +11299,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/upsert-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.upsertRow" @@ -11446,7 +11446,6 @@ "cookies": false, "type": "", "demo": "databases\/update-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-document.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -11458,6 +11457,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/update-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.updateRow" @@ -11558,7 +11558,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-document.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-document.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -11570,6 +11569,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-document.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.deleteRow" @@ -11661,7 +11661,6 @@ "cookies": false, "type": "", "demo": "databases\/decrement-document-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/decrement-document-attribute.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -11673,6 +11672,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/decrement-document-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.decrementRowColumn" @@ -11784,7 +11784,6 @@ "cookies": false, "type": "", "demo": "databases\/increment-document-attribute.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/increment-document-attribute.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -11796,6 +11795,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/increment-document-attribute.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.incrementRowColumn" @@ -11905,7 +11905,6 @@ "cookies": false, "type": "", "demo": "databases\/list-indexes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-indexes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -11916,6 +11915,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/list-indexes.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.listIndexes" @@ -12000,7 +12000,6 @@ "cookies": false, "type": "", "demo": "databases\/create-index.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12011,6 +12010,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/create-index.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.createIndex" @@ -12141,7 +12141,6 @@ "cookies": false, "type": "", "demo": "databases\/get-index.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12152,6 +12151,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/get-index.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.getIndex" @@ -12217,7 +12217,6 @@ "cookies": false, "type": "", "demo": "databases\/delete-index.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12228,6 +12227,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/databases\/delete-index.md", "deprecated": { "since": "1.8.0", "replaceWith": "tablesDB.deleteIndex" @@ -12298,7 +12298,6 @@ "cookies": false, "type": "", "demo": "functions\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all the project's functions. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12382,7 +12381,6 @@ "cookies": false, "type": "", "demo": "functions\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new function. You can pass a list of [permissions](https:\/\/appwrite.io\/docs\/permissions) to allow different project users or team with access to execute the function using the client API.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12697,7 +12695,6 @@ "cookies": false, "type": "", "demo": "functions\/list-runtimes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all runtimes that are currently active on your instance.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12749,7 +12746,6 @@ "cookies": false, "type": "", "demo": "functions\/list-specifications.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterList allowed function specifications for this instance.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12801,7 +12797,6 @@ "cookies": false, "type": "", "demo": "functions\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a function by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -12863,7 +12858,6 @@ "cookies": false, "type": "", "demo": "functions\/update.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate function by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13174,7 +13168,6 @@ "cookies": false, "type": "", "demo": "functions\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a function by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13238,7 +13231,6 @@ "cookies": false, "type": "", "demo": "functions\/update-function-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate the function active deployment. Use this endpoint to switch the code deployment that should be used when visitor opens your function.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13318,7 +13310,6 @@ "cookies": false, "type": "", "demo": "functions\/list-deployments.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all the function's code deployments. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13410,7 +13401,6 @@ "cookies": false, "type": "upload", "demo": "functions\/create-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new function code deployment. Use this endpoint to upload a new version of your code function. To execute your newly uploaded code, you'll need to update the function's deployment to use your new deployment UID.\n\nThis endpoint accepts a tar.gz file compressed with your code. Make sure to include any dependencies your code has within the compressed file. You can learn more about code packaging in the [Appwrite Cloud Functions tutorial](https:\/\/appwrite.io\/docs\/functions).\n\nUse the \"command\" param to set the entrypoint used to execute your code.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13505,7 +13495,6 @@ "cookies": false, "type": "", "demo": "functions\/create-duplicate-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new build for an existing function deployment. This endpoint allows you to rebuild a deployment with the updated function configuration, including its entrypoint and build commands if they have been modified. The build process will be queued and executed asynchronously. The original deployment's code will be preserved and used for the new build.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13593,7 +13582,6 @@ "cookies": false, "type": "", "demo": "functions\/create-template-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a deployment based on a template.\n\nUse this endpoint with combination of [listTemplates](https:\/\/appwrite.io\/docs\/products\/functions\/templates) to find the template details.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13716,7 +13704,6 @@ "cookies": false, "type": "", "demo": "functions\/create-vcs-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a deployment when a function is connected to VCS.\n\nThis endpoint lets you create deployment from a branch, commit, or a tag.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13815,7 +13802,6 @@ "cookies": false, "type": "", "demo": "functions\/get-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a function deployment by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13880,7 +13866,6 @@ "cookies": false, "type": "", "demo": "functions\/delete-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a code deployment by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -13950,7 +13935,6 @@ "cookies": false, "type": "location", "demo": "functions\/get-deployment-download.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a function deployment content by its unique ID. The endpoint response return with a 'Content-Disposition: attachment' header that tells the browser to start downloading the file to user downloads directory.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14038,7 +14022,6 @@ "cookies": false, "type": "", "demo": "functions\/update-deployment-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCancel an ongoing function deployment build. If the build is already in progress, it will be stopped and marked as canceled. If the build hasn't started yet, it will be marked as canceled without executing. You cannot cancel builds that have already completed (status 'ready') or failed. The response includes the final build status and details.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14108,7 +14091,6 @@ "cookies": false, "type": "", "demo": "functions\/list-executions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all the current user function execution logs. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14194,7 +14176,6 @@ "cookies": false, "type": "", "demo": "functions\/create-execution.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterTrigger a function execution. The returned object will return you the current execution status. You can ping the `Get Execution` endpoint to get updates on the current execution status. Once this endpoint is called, your function execution process will start asynchronously.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14316,7 +14297,6 @@ "cookies": false, "type": "", "demo": "functions\/get-execution.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a function execution log by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14384,7 +14364,6 @@ "cookies": false, "type": "", "demo": "functions\/delete-execution.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a function execution by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14454,7 +14433,6 @@ "cookies": false, "type": "", "demo": "functions\/list-variables.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all variables of a specific function.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14516,7 +14494,6 @@ "cookies": false, "type": "", "demo": "functions\/create-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new function environment variable. These variables can be accessed in the function at runtime as environment variables.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14609,7 +14586,6 @@ "cookies": false, "type": "", "demo": "functions\/get-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a variable by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14679,7 +14655,6 @@ "cookies": false, "type": "", "demo": "functions\/update-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate variable by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14776,7 +14751,6 @@ "cookies": false, "type": "", "demo": "functions\/delete-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a variable by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -14848,7 +14822,6 @@ "cookies": false, "type": "graphql", "demo": "graphql\/query.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "rate-limit": 60, "rate-time": 60, "rate-key": "url:{url},ip:{ip}", @@ -14860,6 +14833,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "auth": { "Project": [], "Key": [] @@ -14925,7 +14899,6 @@ "cookies": false, "type": "graphql", "demo": "graphql\/mutation.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "rate-limit": 60, "rate-time": 60, "rate-key": "url:{url},ip:{ip}", @@ -14937,6 +14910,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/graphql\/post.md", "auth": { "Project": [], "Key": [] @@ -15000,7 +14974,6 @@ "cookies": false, "type": "", "demo": "health\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15011,6 +14984,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get.md", "auth": { "Project": [], "Key": [] @@ -15052,7 +15026,6 @@ "cookies": false, "type": "", "demo": "health\/get-antivirus.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage-anti-virus.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15063,6 +15036,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage-anti-virus.md", "auth": { "Project": [], "Key": [] @@ -15104,7 +15078,6 @@ "cookies": false, "type": "", "demo": "health\/get-cache.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-cache.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15115,6 +15088,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-cache.md", "auth": { "Project": [], "Key": [] @@ -15156,7 +15130,6 @@ "cookies": false, "type": "", "demo": "health\/get-certificate.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-certificate.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15167,6 +15140,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-certificate.md", "auth": { "Project": [], "Key": [] @@ -15217,7 +15191,6 @@ "cookies": false, "type": "", "demo": "health\/get-db.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-db.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15228,6 +15201,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-db.md", "auth": { "Project": [], "Key": [] @@ -15269,7 +15243,6 @@ "cookies": false, "type": "", "demo": "health\/get-pub-sub.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-pubsub.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15280,6 +15253,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-pubsub.md", "auth": { "Project": [], "Key": [] @@ -15321,7 +15295,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-builds.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-builds.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15332,6 +15305,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-builds.md", "auth": { "Project": [], "Key": [] @@ -15384,7 +15358,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-certificates.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-certificates.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15395,6 +15368,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-certificates.md", "auth": { "Project": [], "Key": [] @@ -15447,7 +15421,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-databases.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-databases.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15458,6 +15431,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-databases.md", "auth": { "Project": [], "Key": [] @@ -15519,7 +15493,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-deletes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-deletes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15530,6 +15503,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-deletes.md", "auth": { "Project": [], "Key": [] @@ -15582,7 +15556,6 @@ "cookies": false, "type": "", "demo": "health\/get-failed-jobs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-failed-queue-jobs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15593,6 +15566,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-failed-queue-jobs.md", "auth": { "Project": [], "Key": [] @@ -15669,7 +15643,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-functions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-functions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15680,6 +15653,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-functions.md", "auth": { "Project": [], "Key": [] @@ -15732,7 +15706,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15743,6 +15716,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-logs.md", "auth": { "Project": [], "Key": [] @@ -15795,7 +15769,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-mails.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-mails.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15806,6 +15779,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-mails.md", "auth": { "Project": [], "Key": [] @@ -15858,7 +15832,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-messaging.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-messaging.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15869,6 +15842,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-messaging.md", "auth": { "Project": [], "Key": [] @@ -15921,7 +15895,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-migrations.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-migrations.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15932,6 +15905,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-migrations.md", "auth": { "Project": [], "Key": [] @@ -15984,7 +15958,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-stats-resources.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-stats-resources.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -15995,6 +15968,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-stats-resources.md", "auth": { "Project": [], "Key": [] @@ -16047,7 +16021,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-usage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-stats-usage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16058,6 +16031,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-stats-usage.md", "auth": { "Project": [], "Key": [] @@ -16110,7 +16084,6 @@ "cookies": false, "type": "", "demo": "health\/get-queue-webhooks.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-webhooks.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16121,6 +16094,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-queue-webhooks.md", "auth": { "Project": [], "Key": [] @@ -16173,7 +16147,6 @@ "cookies": false, "type": "", "demo": "health\/get-storage.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16184,6 +16157,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage.md", "auth": { "Project": [], "Key": [] @@ -16225,7 +16199,6 @@ "cookies": false, "type": "", "demo": "health\/get-storage-local.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage-local.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16236,6 +16209,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-storage-local.md", "auth": { "Project": [], "Key": [] @@ -16277,7 +16251,6 @@ "cookies": false, "type": "", "demo": "health\/get-time.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-time.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16288,6 +16261,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/health\/get-time.md", "auth": { "Project": [], "Key": [] @@ -16329,7 +16303,6 @@ "cookies": false, "type": "", "demo": "locale\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/get-locale.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16341,6 +16314,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/get-locale.md", "auth": { "Project": [], "Session": [] @@ -16384,7 +16358,6 @@ "cookies": false, "type": "", "demo": "locale\/list-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-locale-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16396,6 +16369,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-locale-codes.md", "auth": { "Project": [], "Session": [] @@ -16439,7 +16413,6 @@ "cookies": false, "type": "", "demo": "locale\/list-continents.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-continents.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16451,6 +16424,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-continents.md", "auth": { "Project": [], "Session": [] @@ -16494,7 +16468,6 @@ "cookies": false, "type": "", "demo": "locale\/list-countries.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16506,6 +16479,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries.md", "auth": { "Project": [], "Session": [] @@ -16549,7 +16523,6 @@ "cookies": false, "type": "", "demo": "locale\/list-countries-eu.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-eu.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16561,6 +16534,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-eu.md", "auth": { "Project": [], "Session": [] @@ -16604,7 +16578,6 @@ "cookies": false, "type": "", "demo": "locale\/list-countries-phones.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-phones.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16616,6 +16589,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-countries-phones.md", "auth": { "Project": [], "Session": [] @@ -16659,7 +16633,6 @@ "cookies": false, "type": "", "demo": "locale\/list-currencies.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-currencies.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16671,6 +16644,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-currencies.md", "auth": { "Project": [], "Session": [] @@ -16714,7 +16688,6 @@ "cookies": false, "type": "", "demo": "locale\/list-languages.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-languages.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16726,6 +16699,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/locale\/list-languages.md", "auth": { "Project": [], "Session": [] @@ -16769,7 +16743,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-messages.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-messages.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16780,6 +16753,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-messages.md", "auth": { "Project": [], "Key": [] @@ -16855,7 +16829,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-email.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-email.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -16866,6 +16839,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-email.md", "auth": { "Project": [], "Key": [] @@ -17016,7 +16990,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-email.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-email.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17027,6 +17000,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-email.md", "auth": { "Project": [], "Key": [] @@ -17184,7 +17158,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-push.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-push.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17195,6 +17168,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-push.md", "auth": { "Project": [], "Key": [] @@ -17383,7 +17357,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-push.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-push.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17394,6 +17367,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-push.md", "auth": { "Project": [], "Key": [] @@ -17597,7 +17571,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-sms.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-sms.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17608,6 +17581,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-sms.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.createSMS" @@ -17790,7 +17764,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-sms.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-sms.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17801,6 +17774,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-sms.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.updateSMS" @@ -17982,7 +17956,6 @@ "cookies": false, "type": "", "demo": "messaging\/get-message.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-message.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -17993,6 +17966,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-message.md", "auth": { "Project": [], "Key": [] @@ -18039,7 +18013,6 @@ "cookies": false, "type": "", "demo": "messaging\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-message.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18050,6 +18023,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-message.md", "auth": { "Project": [], "Key": [] @@ -18101,7 +18075,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-message-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-message-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18112,6 +18085,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-message-logs.md", "auth": { "Project": [], "Key": [] @@ -18184,7 +18158,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-targets.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-message-targets.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18195,6 +18168,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-message-targets.md", "auth": { "Project": [], "Key": [] @@ -18267,7 +18241,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-providers.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-providers.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18278,6 +18251,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-providers.md", "auth": { "Project": [], "Key": [] @@ -18353,7 +18327,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-apns-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-apns-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18364,6 +18337,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-apns-provider.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.createAPNSProvider" @@ -18545,7 +18519,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-apns-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-apns-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18556,6 +18529,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-apns-provider.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.updateAPNSProvider" @@ -18734,7 +18708,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-fcm-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-fcm-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18745,6 +18718,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-fcm-provider.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.createFCMProvider" @@ -18895,7 +18869,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-fcm-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-fcm-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -18906,6 +18879,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-fcm-provider.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.updateFCMProvider" @@ -19052,7 +19026,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-mailgun-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-mailgun-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19063,6 +19036,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-mailgun-provider.md", "auth": { "Project": [], "Key": [] @@ -19183,7 +19157,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-mailgun-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-mailgun-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19194,6 +19167,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-mailgun-provider.md", "auth": { "Project": [], "Key": [] @@ -19312,7 +19286,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-msg-91-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-msg91-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19323,6 +19296,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-msg91-provider.md", "auth": { "Project": [], "Key": [] @@ -19418,7 +19392,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-msg-91-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-msg91-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19429,6 +19402,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-msg91-provider.md", "auth": { "Project": [], "Key": [] @@ -19522,7 +19496,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-resend-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-resend-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19533,6 +19506,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-resend-provider.md", "auth": { "Project": [], "Key": [] @@ -19640,7 +19614,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-resend-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-resend-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19651,6 +19624,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-resend-provider.md", "auth": { "Project": [], "Key": [] @@ -19756,7 +19730,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-sendgrid-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-sendgrid-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19767,6 +19740,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-sendgrid-provider.md", "auth": { "Project": [], "Key": [] @@ -19874,7 +19848,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-sendgrid-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-sendgrid-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -19885,6 +19858,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-sendgrid-provider.md", "auth": { "Project": [], "Key": [] @@ -19990,7 +19964,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-smtp-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-smtp-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20001,6 +19974,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-smtp-provider.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.createSMTPProvider" @@ -20240,7 +20214,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-smtp-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-smtp-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20251,6 +20224,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-smtp-provider.md", "deprecated": { "since": "1.8.0", "replaceWith": "messaging.updateSMTPProvider" @@ -20485,7 +20459,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-telesign-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-telesign-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20496,6 +20469,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-telesign-provider.md", "auth": { "Project": [], "Key": [] @@ -20591,7 +20565,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-telesign-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-telesign-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20602,6 +20575,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-telesign-provider.md", "auth": { "Project": [], "Key": [] @@ -20695,7 +20669,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-textmagic-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-textmagic-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20706,6 +20679,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-textmagic-provider.md", "auth": { "Project": [], "Key": [] @@ -20801,7 +20775,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-textmagic-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-textmagic-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20812,6 +20785,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-textmagic-provider.md", "auth": { "Project": [], "Key": [] @@ -20905,7 +20879,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-twilio-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-twilio-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -20916,6 +20889,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-twilio-provider.md", "auth": { "Project": [], "Key": [] @@ -21011,7 +20985,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-twilio-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-twilio-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21022,6 +20995,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-twilio-provider.md", "auth": { "Project": [], "Key": [] @@ -21115,7 +21089,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-vonage-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-vonage-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21126,6 +21099,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-vonage-provider.md", "auth": { "Project": [], "Key": [] @@ -21221,7 +21195,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-vonage-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-vonage-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21232,6 +21205,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-vonage-provider.md", "auth": { "Project": [], "Key": [] @@ -21323,7 +21297,6 @@ "cookies": false, "type": "", "demo": "messaging\/get-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21334,6 +21307,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-provider.md", "auth": { "Project": [], "Key": [] @@ -21380,7 +21354,6 @@ "cookies": false, "type": "", "demo": "messaging\/delete-provider.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-provider.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21391,6 +21364,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-provider.md", "auth": { "Project": [], "Key": [] @@ -21442,7 +21416,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-provider-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-provider-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21453,6 +21426,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-provider-logs.md", "auth": { "Project": [], "Key": [] @@ -21525,7 +21499,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-subscriber-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-subscriber-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21536,6 +21509,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-subscriber-logs.md", "auth": { "Project": [], "Key": [] @@ -21608,7 +21582,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-topics.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-topics.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21619,6 +21592,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-topics.md", "auth": { "Project": [], "Key": [] @@ -21692,7 +21666,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-topic.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-topic.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21703,6 +21676,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-topic.md", "auth": { "Project": [], "Key": [] @@ -21782,7 +21756,6 @@ "cookies": false, "type": "", "demo": "messaging\/get-topic.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-topic.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21793,6 +21766,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-topic.md", "auth": { "Project": [], "Key": [] @@ -21844,7 +21818,6 @@ "cookies": false, "type": "", "demo": "messaging\/update-topic.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-topic.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21855,6 +21828,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/update-topic.md", "auth": { "Project": [], "Key": [] @@ -21927,7 +21901,6 @@ "cookies": false, "type": "", "demo": "messaging\/delete-topic.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-topic.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -21938,6 +21911,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-topic.md", "auth": { "Project": [], "Key": [] @@ -21989,7 +21963,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-topic-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-topic-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22000,6 +21973,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-topic-logs.md", "auth": { "Project": [], "Key": [] @@ -22072,7 +22046,6 @@ "cookies": false, "type": "", "demo": "messaging\/list-subscribers.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-subscribers.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22083,6 +22056,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/list-subscribers.md", "auth": { "Project": [], "Key": [] @@ -22164,7 +22138,6 @@ "cookies": false, "type": "", "demo": "messaging\/create-subscriber.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-subscriber.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22176,6 +22149,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/create-subscriber.md", "auth": { "Project": [], "JWT": [] @@ -22254,7 +22228,6 @@ "cookies": false, "type": "", "demo": "messaging\/get-subscriber.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-subscriber.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22265,6 +22238,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/get-subscriber.md", "auth": { "Project": [], "Key": [] @@ -22319,7 +22293,6 @@ "cookies": false, "type": "", "demo": "messaging\/delete-subscriber.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-subscriber.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22331,6 +22304,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/messaging\/delete-subscriber.md", "auth": { "Project": [], "JWT": [] @@ -22392,7 +22366,6 @@ "cookies": false, "type": "", "demo": "sites\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all the project's sites. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22476,7 +22449,6 @@ "cookies": false, "type": "", "demo": "sites\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new site.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22749,7 +22721,6 @@ "cookies": false, "type": "", "demo": "sites\/list-frameworks.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all frameworks that are currently available on the server instance.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22801,7 +22772,6 @@ "cookies": false, "type": "", "demo": "sites\/list-specifications.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterList allowed site specifications for this instance.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22853,7 +22823,6 @@ "cookies": false, "type": "", "demo": "sites\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a site by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -22915,7 +22884,6 @@ "cookies": false, "type": "", "demo": "sites\/update.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate site by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23183,7 +23151,6 @@ "cookies": false, "type": "", "demo": "sites\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a site by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23247,7 +23214,6 @@ "cookies": false, "type": "", "demo": "sites\/update-site-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate the site active deployment. Use this endpoint to switch the code deployment that should be used when visitor opens your site.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23327,7 +23293,6 @@ "cookies": false, "type": "", "demo": "sites\/list-deployments.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all the site's code deployments. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23419,7 +23384,6 @@ "cookies": false, "type": "upload", "demo": "sites\/create-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new site code deployment. Use this endpoint to upload a new version of your site code. To activate your newly uploaded code, you'll need to update the site's deployment to use your new deployment ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23522,7 +23486,6 @@ "cookies": false, "type": "", "demo": "sites\/create-duplicate-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new build for an existing site deployment. This endpoint allows you to rebuild a deployment with the updated site configuration, including its commands and output directory if they have been modified. The build process will be queued and executed asynchronously. The original deployment's code will be preserved and used for the new build.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23604,7 +23567,6 @@ "cookies": false, "type": "", "demo": "sites\/create-template-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a deployment based on a template.\n\nUse this endpoint with combination of [listTemplates](https:\/\/appwrite.io\/docs\/products\/sites\/templates) to find the template details.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23727,7 +23689,6 @@ "cookies": false, "type": "", "demo": "sites\/create-vcs-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a deployment when a site is connected to VCS.\n\nThis endpoint lets you create deployment from a branch, commit, or a tag.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23827,7 +23788,6 @@ "cookies": false, "type": "", "demo": "sites\/get-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a site deployment by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23892,7 +23852,6 @@ "cookies": false, "type": "", "demo": "sites\/delete-deployment.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a site deployment by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -23962,7 +23921,6 @@ "cookies": false, "type": "location", "demo": "sites\/get-deployment-download.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a site deployment content by its unique ID. The endpoint response return with a 'Content-Disposition: attachment' header that tells the browser to start downloading the file to user downloads directory.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24050,7 +24008,6 @@ "cookies": false, "type": "", "demo": "sites\/update-deployment-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCancel an ongoing site deployment build. If the build is already in progress, it will be stopped and marked as canceled. If the build hasn't started yet, it will be marked as canceled without executing. You cannot cancel builds that have already completed (status 'ready') or failed. The response includes the final build status and details.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24120,7 +24077,6 @@ "cookies": false, "type": "", "demo": "sites\/list-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all site logs. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24203,7 +24159,6 @@ "cookies": false, "type": "", "demo": "sites\/get-log.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a site request log by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24270,7 +24225,6 @@ "cookies": false, "type": "", "demo": "sites\/delete-log.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a site log by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24340,7 +24294,6 @@ "cookies": false, "type": "", "demo": "sites\/list-variables.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a list of all variables of a specific site.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24402,7 +24355,6 @@ "cookies": false, "type": "", "demo": "sites\/create-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new site variable. These variables can be accessed during build and runtime (server-side rendering) as environment variables.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24495,7 +24447,6 @@ "cookies": false, "type": "", "demo": "sites\/get-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a variable by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24565,7 +24516,6 @@ "cookies": false, "type": "", "demo": "sites\/update-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate variable by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24662,7 +24612,6 @@ "cookies": false, "type": "", "demo": "sites\/delete-variable.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a variable by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24732,7 +24681,6 @@ "cookies": false, "type": "", "demo": "storage\/list-buckets.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-buckets.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24743,6 +24691,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-buckets.md", "auth": { "Project": [], "Key": [] @@ -24816,7 +24765,6 @@ "cookies": false, "type": "", "demo": "storage\/create-bucket.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-bucket.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24827,6 +24775,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-bucket.md", "auth": { "Project": [], "Key": [] @@ -24963,7 +24912,6 @@ "cookies": false, "type": "", "demo": "storage\/get-bucket.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-bucket.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -24974,6 +24922,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-bucket.md", "auth": { "Project": [], "Key": [] @@ -25025,7 +24974,6 @@ "cookies": false, "type": "", "demo": "storage\/update-bucket.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/update-bucket.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25036,6 +24984,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/update-bucket.md", "auth": { "Project": [], "Key": [] @@ -25168,7 +25117,6 @@ "cookies": false, "type": "", "demo": "storage\/delete-bucket.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/delete-bucket.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25179,6 +25127,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/delete-bucket.md", "auth": { "Project": [], "Key": [] @@ -25230,7 +25179,6 @@ "cookies": false, "type": "", "demo": "storage\/list-files.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-files.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25242,6 +25190,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/list-files.md", "auth": { "Project": [], "Session": [] @@ -25325,7 +25274,6 @@ "cookies": false, "type": "upload", "demo": "storage\/create-file.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-file.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId},chunkId:{chunkId}", @@ -25337,6 +25285,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/create-file.md", "auth": { "Project": [], "Session": [] @@ -25418,7 +25367,6 @@ "cookies": false, "type": "", "demo": "storage\/get-file.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25430,6 +25378,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file.md", "auth": { "Project": [], "Session": [] @@ -25491,7 +25440,6 @@ "cookies": false, "type": "", "demo": "storage\/update-file.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/update-file.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -25503,6 +25451,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/update-file.md", "auth": { "Project": [], "Session": [] @@ -25585,7 +25534,6 @@ "cookies": false, "type": "", "demo": "storage\/delete-file.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/delete-file.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -25597,6 +25545,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/delete-file.md", "auth": { "Project": [], "Session": [] @@ -25658,7 +25607,6 @@ "cookies": false, "type": "location", "demo": "storage\/get-file-download.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-download.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25670,6 +25618,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-download.md", "auth": { "Project": [], "Session": [] @@ -25740,7 +25689,6 @@ "cookies": false, "type": "location", "demo": "storage\/get-file-preview.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-preview.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25752,6 +25700,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-preview.md", "auth": { "Project": [], "Session": [] @@ -25950,7 +25899,6 @@ "cookies": false, "type": "location", "demo": "storage\/get-file-view.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-view.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -25962,6 +25910,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/storage\/get-file-view.md", "auth": { "Project": [], "Session": [] @@ -26032,7 +25981,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26043,6 +25991,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list.md", "auth": { "Project": [], "Key": [] @@ -26116,7 +26065,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26127,6 +26075,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create.md", "auth": { "Project": [], "Key": [] @@ -26201,7 +26150,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-transactions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-transactions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26216,6 +26164,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-transactions.md", "auth": { "Project": [], "Key": [] @@ -26273,7 +26222,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26288,6 +26236,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-transaction.md", "auth": { "Project": [], "Key": [] @@ -26348,7 +26297,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26363,6 +26311,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-transaction.md", "auth": { "Project": [], "Key": [] @@ -26416,7 +26365,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26431,6 +26379,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-transaction.md", "auth": { "Project": [], "Key": [] @@ -26500,7 +26449,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-transaction.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-transaction.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26515,6 +26463,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-transaction.md", "auth": { "Project": [], "Key": [] @@ -26570,7 +26519,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-operations.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-operations.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26585,6 +26533,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-operations.md", "auth": { "Project": [], "Key": [] @@ -26656,7 +26605,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26667,6 +26615,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get.md", "auth": { "Project": [], "Key": [] @@ -26718,7 +26667,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26729,6 +26677,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update.md", "auth": { "Project": [], "Key": [] @@ -26799,7 +26748,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26810,6 +26758,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete.md", "auth": { "Project": [], "Key": [] @@ -26861,7 +26810,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-tables.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-tables.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26875,6 +26823,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-tables.md", "auth": { "Project": [], "Key": [] @@ -26956,7 +26905,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-table.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-table.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -26970,6 +26918,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-table.md", "auth": { "Project": [], "Key": [] @@ -27086,7 +27035,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-table.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-table.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27100,6 +27048,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-table.md", "auth": { "Project": [], "Key": [] @@ -27159,7 +27108,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-table.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-table.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27173,6 +27121,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-table.md", "auth": { "Project": [], "Key": [] @@ -27267,7 +27216,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-table.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-table.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27281,6 +27229,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-table.md", "auth": { "Project": [], "Key": [] @@ -27340,7 +27289,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-columns.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-columns.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27354,6 +27302,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-columns.md", "auth": { "Project": [], "Key": [] @@ -27436,7 +27385,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-boolean-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-boolean-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27450,6 +27398,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-boolean-column.md", "auth": { "Project": [], "Key": [] @@ -27549,7 +27498,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-boolean-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-boolean-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27563,6 +27511,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-boolean-column.md", "auth": { "Project": [], "Key": [] @@ -27664,7 +27613,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-datetime-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-datetime-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27678,6 +27626,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-datetime-column.md", "auth": { "Project": [], "Key": [] @@ -27777,7 +27726,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-datetime-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-datetime-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27791,6 +27739,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-datetime-column.md", "auth": { "Project": [], "Key": [] @@ -27892,7 +27841,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-email-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-email-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -27906,6 +27854,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-email-column.md", "auth": { "Project": [], "Key": [] @@ -28005,7 +27954,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-email-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-email-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28019,6 +27967,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-email-column.md", "auth": { "Project": [], "Key": [] @@ -28120,7 +28069,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-enum-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-enum-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28134,6 +28082,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-enum-column.md", "auth": { "Project": [], "Key": [] @@ -28243,7 +28192,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-enum-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-enum-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28257,6 +28205,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-enum-column.md", "auth": { "Project": [], "Key": [] @@ -28368,7 +28317,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-float-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-float-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28382,6 +28330,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-float-column.md", "auth": { "Project": [], "Key": [] @@ -28495,7 +28444,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-float-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-float-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28509,6 +28457,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-float-column.md", "auth": { "Project": [], "Key": [] @@ -28624,7 +28573,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-integer-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-integer-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28638,6 +28586,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-integer-column.md", "auth": { "Project": [], "Key": [] @@ -28751,7 +28700,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-integer-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-integer-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28765,6 +28713,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-integer-column.md", "auth": { "Project": [], "Key": [] @@ -28880,7 +28829,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-ip-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-ip-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -28894,6 +28842,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-ip-column.md", "auth": { "Project": [], "Key": [] @@ -28993,7 +28942,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-ip-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-ip-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -29007,6 +28955,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-ip-column.md", "auth": { "Project": [], "Key": [] @@ -29108,7 +29057,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-line-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-line-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -29122,6 +29070,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-line-column.md", "auth": { "Project": [], "Key": [] @@ -29215,7 +29164,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-line-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-line-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -29229,6 +29177,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-line-column.md", "auth": { "Project": [], "Key": [] @@ -29329,7 +29278,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-point-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-point-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -29343,6 +29291,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-point-column.md", "auth": { "Project": [], "Key": [] @@ -29436,7 +29385,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-point-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-point-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -29450,6 +29398,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-point-column.md", "auth": { "Project": [], "Key": [] @@ -29550,7 +29499,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-polygon-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-polygon-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -29564,6 +29512,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-polygon-column.md", "auth": { "Project": [], "Key": [] @@ -29657,7 +29606,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-polygon-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-polygon-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -29671,6 +29619,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-polygon-column.md", "auth": { "Project": [], "Key": [] @@ -29771,7 +29720,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-relationship-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-relationship-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -29785,6 +29733,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-relationship-column.md", "auth": { "Project": [], "Key": [] @@ -29912,7 +29861,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-string-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-string-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -29926,6 +29874,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-string-column.md", "auth": { "Project": [], "Key": [] @@ -30038,7 +29987,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-string-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-string-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30052,6 +30000,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-string-column.md", "auth": { "Project": [], "Key": [] @@ -30160,7 +30109,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-url-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-url-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30174,6 +30122,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-url-column.md", "auth": { "Project": [], "Key": [] @@ -30273,7 +30222,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-url-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-url-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30287,6 +30235,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-url-column.md", "auth": { "Project": [], "Key": [] @@ -30417,7 +30366,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30431,6 +30379,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-column.md", "auth": { "Project": [], "Key": [] @@ -30492,7 +30441,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30506,6 +30454,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-column.md", "auth": { "Project": [], "Key": [] @@ -30574,7 +30523,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-relationship-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-relationship-column.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30588,6 +30536,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-relationship-column.md", "auth": { "Project": [], "Key": [] @@ -30684,7 +30633,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-indexes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-indexes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30698,6 +30646,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-indexes.md", "auth": { "Project": [], "Key": [] @@ -30778,7 +30727,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-index.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30792,6 +30740,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-index.md", "auth": { "Project": [], "Key": [] @@ -30918,7 +30867,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-index.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -30932,6 +30880,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-index.md", "auth": { "Project": [], "Key": [] @@ -30993,7 +30942,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-index.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-index.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -31007,6 +30955,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-index.md", "auth": { "Project": [], "Key": [] @@ -31073,7 +31022,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/list-rows.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-rows.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -31088,6 +31036,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/list-rows.md", "auth": { "Project": [], "Session": [] @@ -31178,7 +31127,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/create-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-row.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -31193,6 +31141,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/create-row.md", "methods": [ { "name": "createRow", @@ -31364,7 +31313,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/upsert-rows.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/upsert-rows.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -31378,6 +31326,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/upsert-rows.md", "methods": [ { "name": "upsertRows", @@ -31496,7 +31445,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-rows.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-rows.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -31510,6 +31458,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-rows.md", "auth": { "Project": [], "Key": [] @@ -31600,7 +31549,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-rows.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-rows.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -31614,6 +31562,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-rows.md", "auth": { "Project": [], "Key": [] @@ -31698,7 +31647,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/get-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-row.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -31713,6 +31661,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/get-row.md", "auth": { "Project": [], "Session": [] @@ -31802,7 +31751,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/upsert-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/upsert-row.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -31817,6 +31765,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/upsert-row.md", "methods": [ { "name": "upsertRow", @@ -31951,7 +31900,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/update-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-row.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -31966,6 +31914,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/update-row.md", "auth": { "Project": [], "Session": [] @@ -32062,7 +32011,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/delete-row.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-row.md", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -32077,6 +32025,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/delete-row.md", "auth": { "Project": [], "Session": [] @@ -32164,7 +32113,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/decrement-row-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/decrement-row-column.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -32179,6 +32127,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/decrement-row-column.md", "auth": { "Project": [], "Session": [] @@ -32286,7 +32235,6 @@ "cookies": false, "type": "", "demo": "tablesdb\/increment-row-column.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/increment-row-column.md", "rate-limit": 120, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -32301,6 +32249,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/tablesdb\/increment-row-column.md", "auth": { "Project": [], "Session": [] @@ -32406,7 +32355,6 @@ "cookies": false, "type": "", "demo": "teams\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-teams.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32418,6 +32366,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-teams.md", "auth": { "Project": [], "Session": [] @@ -32493,7 +32442,6 @@ "cookies": false, "type": "", "demo": "teams\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32505,6 +32453,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team.md", "auth": { "Project": [], "Session": [] @@ -32586,7 +32535,6 @@ "cookies": false, "type": "", "demo": "teams\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32598,6 +32546,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team.md", "auth": { "Project": [], "Session": [] @@ -32651,7 +32600,6 @@ "cookies": false, "type": "", "demo": "teams\/update-name.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-name.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32663,6 +32611,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-name.md", "auth": { "Project": [], "Session": [] @@ -32729,7 +32678,6 @@ "cookies": false, "type": "", "demo": "teams\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32741,6 +32689,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team.md", "auth": { "Project": [], "Session": [] @@ -32794,7 +32743,6 @@ "cookies": false, "type": "", "demo": "teams\/list-memberships.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-team-members.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32806,6 +32754,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/list-team-members.md", "auth": { "Project": [], "Session": [] @@ -32889,7 +32838,6 @@ "cookies": false, "type": "", "demo": "teams\/create-membership.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team-membership.md", "rate-limit": 10, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -32901,6 +32849,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/create-team-membership.md", "auth": { "Project": [], "Session": [] @@ -33012,7 +32961,6 @@ "cookies": false, "type": "", "demo": "teams\/get-membership.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-member.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33024,6 +32972,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-member.md", "auth": { "Project": [], "Session": [] @@ -33085,7 +33034,6 @@ "cookies": false, "type": "", "demo": "teams\/update-membership.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33097,6 +33045,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership.md", "auth": { "Project": [], "Session": [] @@ -33181,7 +33130,6 @@ "cookies": false, "type": "", "demo": "teams\/delete-membership.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team-membership.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33193,6 +33141,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/delete-team-membership.md", "auth": { "Project": [], "Session": [] @@ -33256,7 +33205,6 @@ "cookies": false, "type": "", "demo": "teams\/update-membership-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33268,6 +33216,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-membership-status.md", "auth": { "Project": [], "Session": [] @@ -33353,7 +33302,6 @@ "cookies": false, "type": "", "demo": "teams\/get-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33365,6 +33313,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/get-team-prefs.md", "auth": { "Project": [], "Session": [] @@ -33417,7 +33366,6 @@ "cookies": false, "type": "", "demo": "teams\/update-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33429,6 +33377,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/teams\/update-team-prefs.md", "auth": { "Project": [], "Session": [] @@ -33499,7 +33448,6 @@ "cookies": false, "type": "", "demo": "tokens\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterList all the tokens created for a specific file or bucket. You can use the query params to filter your results.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33590,7 +33538,6 @@ "cookies": false, "type": "", "demo": "tokens\/create-file-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterCreate a new token. A token is linked to a file. Token can be passed as a request URL search parameter.", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -33676,7 +33623,6 @@ "cookies": false, "type": "", "demo": "tokens\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterGet a token by its unique ID.", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33738,7 +33684,6 @@ "cookies": false, "type": "", "demo": "tokens\/update.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterUpdate a token by its unique ID. Use this endpoint to update a token's expiry date.", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -33811,7 +33756,6 @@ "cookies": false, "type": "", "demo": "tokens\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/masterDelete a token by its unique ID.", "rate-limit": 60, "rate-time": 60, "rate-key": "ip:{ip},method:{method},url:{url},userId:{userId}", @@ -33873,7 +33817,6 @@ "cookies": false, "type": "", "demo": "users\/list.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-users.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33884,6 +33827,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-users.md", "auth": { "Project": [], "Key": [] @@ -33957,7 +33901,6 @@ "cookies": false, "type": "", "demo": "users\/create.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -33968,6 +33911,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-user.md", "auth": { "Project": [], "Key": [] @@ -34057,7 +34001,6 @@ "cookies": false, "type": "", "demo": "users\/create-argon-2-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-argon2-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34068,6 +34011,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-argon2-user.md", "auth": { "Project": [], "Key": [] @@ -34151,7 +34095,6 @@ "cookies": false, "type": "", "demo": "users\/create-bcrypt-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-bcrypt-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34162,6 +34105,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-bcrypt-user.md", "auth": { "Project": [], "Key": [] @@ -34243,7 +34187,6 @@ "cookies": false, "type": "", "demo": "users\/list-identities.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-identities.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34254,6 +34197,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-identities.md", "auth": { "Project": [], "Key": [] @@ -34324,7 +34268,6 @@ "cookies": false, "type": "", "demo": "users\/delete-identity.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-identity.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34335,6 +34278,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-identity.md", "auth": { "Project": [], "Key": [] @@ -34388,7 +34332,6 @@ "cookies": false, "type": "", "demo": "users\/create-md-5-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-md5-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34399,6 +34342,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-md5-user.md", "auth": { "Project": [], "Key": [] @@ -34482,7 +34426,6 @@ "cookies": false, "type": "", "demo": "users\/create-ph-pass-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-phpass-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34493,6 +34436,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-phpass-user.md", "auth": { "Project": [], "Key": [] @@ -34576,7 +34520,6 @@ "cookies": false, "type": "", "demo": "users\/create-scrypt-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-scrypt-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34587,6 +34530,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-scrypt-user.md", "auth": { "Project": [], "Key": [] @@ -34705,7 +34649,6 @@ "cookies": false, "type": "", "demo": "users\/create-scrypt-modified-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-scrypt-modified-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34716,6 +34659,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-scrypt-modified-user.md", "auth": { "Project": [], "Key": [] @@ -34820,7 +34764,6 @@ "cookies": false, "type": "", "demo": "users\/create-sha-user.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-sha-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34831,6 +34774,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-sha-user.md", "auth": { "Project": [], "Key": [] @@ -34933,7 +34877,6 @@ "cookies": false, "type": "", "demo": "users\/get.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -34944,6 +34887,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user.md", "auth": { "Project": [], "Key": [] @@ -34990,7 +34934,6 @@ "cookies": false, "type": "", "demo": "users\/delete.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35001,6 +34944,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete.md", "auth": { "Project": [], "Key": [] @@ -35054,7 +34998,6 @@ "cookies": false, "type": "", "demo": "users\/update-email.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-email.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35065,6 +35008,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-email.md", "auth": { "Project": [], "Key": [] @@ -35136,7 +35080,6 @@ "cookies": false, "type": "", "demo": "users\/create-jwt.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-user-jwt.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35147,6 +35090,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-user-jwt.md", "auth": { "Project": [], "Key": [] @@ -35221,7 +35165,6 @@ "cookies": false, "type": "", "demo": "users\/update-labels.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-labels.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35232,6 +35175,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-labels.md", "auth": { "Project": [], "Key": [] @@ -35304,7 +35248,6 @@ "cookies": false, "type": "", "demo": "users\/list-logs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-logs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35315,6 +35258,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-logs.md", "auth": { "Project": [], "Key": [] @@ -35387,7 +35331,6 @@ "cookies": false, "type": "", "demo": "users\/list-memberships.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-memberships.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35398,6 +35341,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-memberships.md", "auth": { "Project": [], "Key": [] @@ -35481,7 +35425,6 @@ "cookies": false, "type": "", "demo": "users\/update-mfa.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-mfa.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35492,6 +35435,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-mfa.md", "deprecated": { "since": "1.8.0", "replaceWith": "users.updateMFA" @@ -35620,7 +35564,6 @@ "cookies": false, "type": "", "demo": "users\/delete-mfa-authenticator.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-mfa-authenticator.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35631,6 +35574,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-mfa-authenticator.md", "deprecated": { "since": "1.8.0", "replaceWith": "users.deleteMFAAuthenticator" @@ -35755,7 +35699,6 @@ "cookies": false, "type": "", "demo": "users\/list-mfa-factors.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-mfa-factors.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35766,6 +35709,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-mfa-factors.md", "deprecated": { "since": "1.8.0", "replaceWith": "users.listMFAFactors" @@ -35875,7 +35819,6 @@ "cookies": false, "type": "", "demo": "users\/get-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -35886,6 +35829,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "users.getMFARecoveryCodes" @@ -35995,7 +35939,6 @@ "cookies": false, "type": "", "demo": "users\/update-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36006,6 +35949,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "users.updateMFARecoveryCodes" @@ -36115,7 +36059,6 @@ "cookies": false, "type": "", "demo": "users\/create-mfa-recovery-codes.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-mfa-recovery-codes.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36126,6 +36069,7 @@ ], "packaging": false, "public": false, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-mfa-recovery-codes.md", "deprecated": { "since": "1.8.0", "replaceWith": "users.createMFARecoveryCodes" @@ -36237,7 +36181,6 @@ "cookies": false, "type": "", "demo": "users\/update-name.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-name.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36248,6 +36191,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-name.md", "auth": { "Project": [], "Key": [] @@ -36319,7 +36263,6 @@ "cookies": false, "type": "", "demo": "users\/update-password.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-password.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36330,6 +36273,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-password.md", "auth": { "Project": [], "Key": [] @@ -36401,7 +36345,6 @@ "cookies": false, "type": "", "demo": "users\/update-phone.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-phone.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36412,6 +36355,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-phone.md", "auth": { "Project": [], "Key": [] @@ -36481,7 +36425,6 @@ "cookies": false, "type": "", "demo": "users\/get-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36492,6 +36435,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user-prefs.md", "auth": { "Project": [], "Key": [] @@ -36543,7 +36487,6 @@ "cookies": false, "type": "", "demo": "users\/update-prefs.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-prefs.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36554,6 +36497,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-prefs.md", "auth": { "Project": [], "Key": [] @@ -36623,7 +36567,6 @@ "cookies": false, "type": "", "demo": "users\/list-sessions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-sessions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36634,6 +36577,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-sessions.md", "auth": { "Project": [], "Key": [] @@ -36694,7 +36638,6 @@ "cookies": false, "type": "", "demo": "users\/create-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-session.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36705,6 +36648,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-session.md", "auth": { "Project": [], "Key": [] @@ -36751,7 +36695,6 @@ "cookies": false, "type": "", "demo": "users\/delete-sessions.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-user-sessions.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36762,6 +36705,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-user-sessions.md", "auth": { "Project": [], "Key": [] @@ -36810,7 +36754,6 @@ "cookies": false, "type": "", "demo": "users\/delete-session.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-user-session.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36821,6 +36764,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-user-session.md", "auth": { "Project": [], "Key": [] @@ -36882,7 +36826,6 @@ "cookies": false, "type": "", "demo": "users\/update-status.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-status.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36893,6 +36836,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-status.md", "auth": { "Project": [], "Key": [] @@ -36962,7 +36906,6 @@ "cookies": false, "type": "", "demo": "users\/list-targets.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-targets.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -36973,6 +36916,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/list-user-targets.md", "auth": { "Project": [], "Key": [] @@ -37045,7 +36989,6 @@ "cookies": false, "type": "", "demo": "users\/create-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37056,6 +36999,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-target.md", "auth": { "Project": [], "Key": [] @@ -37158,7 +37102,6 @@ "cookies": false, "type": "", "demo": "users\/get-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37169,6 +37112,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/get-user-target.md", "auth": { "Project": [], "Key": [] @@ -37228,7 +37172,6 @@ "cookies": false, "type": "", "demo": "users\/update-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37239,6 +37182,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-target.md", "auth": { "Project": [], "Key": [] @@ -37320,7 +37264,6 @@ "cookies": false, "type": "", "demo": "users\/delete-target.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-target.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37331,6 +37274,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/delete-target.md", "auth": { "Project": [], "Key": [] @@ -37392,7 +37336,6 @@ "cookies": false, "type": "", "demo": "users\/create-token.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-token.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37403,6 +37346,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/create-token.md", "auth": { "Project": [], "Key": [] @@ -37477,7 +37421,6 @@ "cookies": false, "type": "", "demo": "users\/update-email-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-email-verification.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37488,6 +37431,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-email-verification.md", "auth": { "Project": [], "Key": [] @@ -37559,7 +37503,6 @@ "cookies": false, "type": "", "demo": "users\/update-phone-verification.md", - "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-phone-verification.md", "rate-limit": 0, "rate-time": 3600, "rate-key": "url:{url},ip:{ip}", @@ -37570,6 +37513,7 @@ ], "packaging": false, "public": true, + "edit": "https:\/\/github.com\/appwrite\/appwrite\/edit\/master\/docs\/references\/users\/update-user-phone-verification.md", "auth": { "Project": [], "Key": [] diff --git a/docs/examples/1.8.x/console-web/examples/databases/create-collection.md b/docs/examples/1.8.x/console-web/examples/databases/create-collection.md index f02b110e51..492379bab0 100644 --- a/docs/examples/1.8.x/console-web/examples/databases/create-collection.md +++ b/docs/examples/1.8.x/console-web/examples/databases/create-collection.md @@ -12,7 +12,9 @@ const result = await databases.createCollection({ name: '', permissions: [Permission.read(Role.any())], // optional documentSecurity: false, // optional - enabled: false // optional + enabled: false, // optional + attributes: [], // optional + indexes: [] // optional }); console.log(result); diff --git a/docs/examples/1.8.x/console-web/examples/tablesdb/create-table.md b/docs/examples/1.8.x/console-web/examples/tablesdb/create-table.md index a203aeb7e4..725bb50ef0 100644 --- a/docs/examples/1.8.x/console-web/examples/tablesdb/create-table.md +++ b/docs/examples/1.8.x/console-web/examples/tablesdb/create-table.md @@ -12,7 +12,9 @@ const result = await tablesDB.createTable({ name: '', permissions: [Permission.read(Role.any())], // optional rowSecurity: false, // optional - enabled: false // optional + enabled: false, // optional + columns: [], // optional + indexes: [] // optional }); console.log(result); diff --git a/src/Appwrite/SDK/Specification/Format/OpenAPI3.php b/src/Appwrite/SDK/Specification/Format/OpenAPI3.php index d26b582d3a..00e98afb60 100644 --- a/src/Appwrite/SDK/Specification/Format/OpenAPI3.php +++ b/src/Appwrite/SDK/Specification/Format/OpenAPI3.php @@ -142,7 +142,6 @@ class OpenAPI3 extends Format 'cookies' => $route->getLabel('sdk.cookies', false), 'type' => $sdk->getType()->value ?? '', 'demo' => \strtolower($namespace) . '/' . Template::fromCamelCaseToDash($methodName) . '.md', - 'edit' => 'https://github.com/appwrite/appwrite/edit/master' . $sdk->getDescription() ?? '', 'rate-limit' => $route->getLabel('abuse-limit', 0), 'rate-time' => $route->getLabel('abuse-time', 3600), 'rate-key' => $route->getLabel('abuse-key', 'url:{url},ip:{ip}'), @@ -153,6 +152,10 @@ class OpenAPI3 extends Format ], ]; + if ($sdk->getDescriptionFilePath() !== null) { + $temp['x-appwrite']['edit'] = 'https://github.com/appwrite/appwrite/edit/master' . $sdk->getDescription(); + } + if ($sdk->getDeprecated()) { $temp['x-appwrite']['deprecated'] = [ 'since' => $sdk->getDeprecated()->getSince(), diff --git a/src/Appwrite/SDK/Specification/Format/Swagger2.php b/src/Appwrite/SDK/Specification/Format/Swagger2.php index 97f63a4009..37173c51c6 100644 --- a/src/Appwrite/SDK/Specification/Format/Swagger2.php +++ b/src/Appwrite/SDK/Specification/Format/Swagger2.php @@ -146,7 +146,6 @@ class Swagger2 extends Format 'cookies' => $route->getLabel('sdk.cookies', false), 'type' => $sdk->getType()->value ?? '', 'demo' => \strtolower($namespace) . '/' . Template::fromCamelCaseToDash($methodName) . '.md', - 'edit' => 'https://github.com/appwrite/appwrite/edit/master' . $sdk->getDescription() ?? '', 'rate-limit' => $route->getLabel('abuse-limit', 0), 'rate-time' => $route->getLabel('abuse-time', 3600), 'rate-key' => $route->getLabel('abuse-key', 'url:{url},ip:{ip}'), @@ -157,6 +156,10 @@ class Swagger2 extends Format ], ]; + if ($sdk->getDescriptionFilePath() !== null) { + $temp['x-appwrite']['edit'] = 'https://github.com/appwrite/appwrite/edit/master' . $sdk->getDescription(); + } + if ($sdk->getDeprecated()) { $temp['x-appwrite']['deprecated'] = [ 'since' => $sdk->getDeprecated()->getSince(), From 4b58e1a85e86278386084d6aa4e671beec25c650 Mon Sep 17 00:00:00 2001 From: loks0n <22452787+loks0n@users.noreply.github.com> Date: Mon, 15 Dec 2025 16:55:48 +0000 Subject: [PATCH 086/220] revert: backups endpoints --- app/controllers/shared/api.php | 1 - src/Appwrite/Platform/Workers/Migrations.php | 10 +++------- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/app/controllers/shared/api.php b/app/controllers/shared/api.php index 8467468ed6..83b56f626a 100644 --- a/app/controllers/shared/api.php +++ b/app/controllers/shared/api.php @@ -628,7 +628,6 @@ App::init() $queueForFunctions->setPlatform($platform); $queueForBuilds->setPlatform($platform); $queueForMails->setPlatform($platform); - $queueForMigrations->setPlatform($platform); // Clone the queues, to prevent events triggered by the database listener // from overwriting the events that are supposed to be triggered in the shutdown hook. diff --git a/src/Appwrite/Platform/Workers/Migrations.php b/src/Appwrite/Platform/Workers/Migrations.php index a10ddc4904..e7b12c5d9d 100644 --- a/src/Appwrite/Platform/Workers/Migrations.php +++ b/src/Appwrite/Platform/Workers/Migrations.php @@ -52,8 +52,6 @@ class Migrations extends Action protected array $plan; - protected array $platform; - /** * @var array */ @@ -108,7 +106,6 @@ class Migrations extends Action $this->deviceForMigrations = $deviceForMigrations; $this->deviceForFiles = $deviceForFiles; $this->plan = $plan; - $this->platform = $payload['platform'] ?? []; if (empty($payload)) { throw new Exception('Missing payload'); @@ -144,7 +141,6 @@ class Migrations extends Action $credentials = $migration->getAttribute('credentials'); $migrationOptions = $migration->getAttribute('options'); $dataSource = Appwrite::SOURCE_API; - $endpoint = $this->platform['endpoint'] ?: ($credentials['endpoint'] ?? 'http://appwrite.test/v1'); $database = null; $queries = []; @@ -178,7 +174,7 @@ class Migrations extends Action ), SourceAppwrite::getName() => new SourceAppwrite( $credentials['projectId'], - $endpoint, + $credentials['endpoint'] === 'http://localhost/v1' ? 'http://appwrite/v1' : $credentials['endpoint'], $credentials['apiKey'], $dataSource, $database, @@ -209,7 +205,7 @@ class Migrations extends Action return match ($destination) { DestinationAppwrite::getName() => new DestinationAppwrite( $this->project->getId(), - $this->platform['endpoint'], + 'http://appwrite/v1', $apiKey, $this->dbForProject, Config::getParam('collections', [])['databases']['collections'], @@ -313,7 +309,7 @@ class Migrations extends Action ) { $credentials = $migration->getAttribute('credentials', []); $credentials['projectId'] = $credentials['projectId'] ?? $project->getId(); - $credentials['endpoint'] = $credentials['endpoint'] ?? $this->platform['endpoint']; + $credentials['endpoint'] = $credentials['endpoint'] ?? 'http://appwrite/v1'; $credentials['apiKey'] = $credentials['apiKey'] ?? $tempAPIKey; $migration->setAttribute('credentials', $credentials); } From e931938b7855d59d8d24704f7d457b17aeb432ea Mon Sep 17 00:00:00 2001 From: loks0n <22452787+loks0n@users.noreply.github.com> Date: Mon, 15 Dec 2025 18:01:30 +0000 Subject: [PATCH 087/220] revert: backups endpoints --- docker-compose.yml | 1 + src/Appwrite/Platform/Workers/Migrations.php | 22 +++++++++++++++++--- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 80fb99c0fd..f18bb747b8 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -737,6 +737,7 @@ services: - _APP_MIGRATIONS_FIREBASE_CLIENT_ID - _APP_MIGRATIONS_FIREBASE_CLIENT_SECRET - _APP_DATABASE_SHARED_TABLES + - _APP_OPTIONS_FORCE_HTTPS appwrite-task-maintenance: entrypoint: maintenance diff --git a/src/Appwrite/Platform/Workers/Migrations.php b/src/Appwrite/Platform/Workers/Migrations.php index e7b12c5d9d..69c78d9620 100644 --- a/src/Appwrite/Platform/Workers/Migrations.php +++ b/src/Appwrite/Platform/Workers/Migrations.php @@ -144,6 +144,12 @@ class Migrations extends Action $database = null; $queries = []; + if ($credentials['endpoint'] === 'http://localhost/v1') { + $platform = Config::getParam('platform', []); + $protocol = System::getEnv('_APP_OPTIONS_FORCE_HTTPS') === 'disabled' ? 'http' : 'https'; + $credentials['endpoint'] = $protocol . '://' . $platform['apiHostname'] . '/v1'; + } + if ($source === Appwrite::getName() && $destination === DestinationCSV::getName()) { $dataSource = Appwrite::SOURCE_DATABASE; $database = $this->dbForProject; @@ -174,7 +180,7 @@ class Migrations extends Action ), SourceAppwrite::getName() => new SourceAppwrite( $credentials['projectId'], - $credentials['endpoint'] === 'http://localhost/v1' ? 'http://appwrite/v1' : $credentials['endpoint'], + $credentials['endpoint'], $credentials['apiKey'], $dataSource, $database, @@ -202,10 +208,13 @@ class Migrations extends Action $destination = $migration->getAttribute('destination'); $options = $migration->getAttribute('options', []); + $protocol = System::getEnv('_APP_OPTIONS_FORCE_HTTPS') === 'disabled' ? 'http' : 'https'; + $platform = Config::getParam('platform', []); + return match ($destination) { DestinationAppwrite::getName() => new DestinationAppwrite( $this->project->getId(), - 'http://appwrite/v1', + $protocol . '://' . $platform['apiHostname'] . '/v1', $apiKey, $this->dbForProject, Config::getParam('collections', [])['databases']['collections'], @@ -302,6 +311,8 @@ class Migrations extends Action $transfer = $source = $destination = null; + + try { if ( $migration->getAttribute('source') === SourceAppwrite::getName() && @@ -309,8 +320,13 @@ class Migrations extends Action ) { $credentials = $migration->getAttribute('credentials', []); $credentials['projectId'] = $credentials['projectId'] ?? $project->getId(); - $credentials['endpoint'] = $credentials['endpoint'] ?? 'http://appwrite/v1'; $credentials['apiKey'] = $credentials['apiKey'] ?? $tempAPIKey; + + if (empty($credentials['endpoint'])) { + $platform = Config::getParam('platform', []); + $protocol = System::getEnv('_APP_OPTIONS_FORCE_HTTPS') === 'disabled' ? 'http' : 'https'; + $credentials['endpoint'] = $protocol . '://' . $platform['apiHostname'] . '/v1'; + } $migration->setAttribute('credentials', $credentials); } From c7fd31285d0f9eba27f416c5afe739bfd85c2c41 Mon Sep 17 00:00:00 2001 From: Chirag Aggarwal Date: Tue, 16 Dec 2025 10:36:45 +0530 Subject: [PATCH 088/220] chore: lazy init sms adapter + late static binding --- src/Appwrite/Event/Database.php | 2 +- src/Appwrite/Event/Event.php | 28 ++++++++++----------- src/Appwrite/Event/Messaging.php | 13 ---------- src/Appwrite/Platform/Workers/Messaging.php | 7 +++--- 4 files changed, 19 insertions(+), 31 deletions(-) diff --git a/src/Appwrite/Event/Database.php b/src/Appwrite/Event/Database.php index 8e7f6b7625..eac30ac07e 100644 --- a/src/Appwrite/Event/Database.php +++ b/src/Appwrite/Event/Database.php @@ -161,7 +161,7 @@ class Database extends Event return $this->document; } - public function setProject(Document $project): self + public function setProject(Document $project): static { $database = $project->getAttribute('database'); if (!empty($database)) { diff --git a/src/Appwrite/Event/Event.php b/src/Appwrite/Event/Event.php index f8fb012075..c7bb22f715 100644 --- a/src/Appwrite/Event/Event.php +++ b/src/Appwrite/Event/Event.php @@ -92,9 +92,9 @@ class Event * Set queue used for this event. * * @param string $queue - * @return Event + * @return static */ - public function setQueue(string $queue): self + public function setQueue(string $queue): static { $this->queue = $queue; @@ -114,9 +114,9 @@ class Event /** * Set event name used for this event. * @param string $event - * @return Event + * @return static */ - public function setEvent(string $event): self + public function setEvent(string $event): static { $this->event = $event; @@ -137,9 +137,9 @@ class Event * Set project for this event. * * @param Document $project - * @return self + * @return static */ - public function setProject(Document $project): self + public function setProject(Document $project): static { $this->project = $project; return $this; @@ -159,9 +159,9 @@ class Event * Set platform for this event. * * @param array $platform - * @return self + * @return static */ - public function setPlatform(array $platform): self + public function setPlatform(array $platform): static { $this->platform = $platform; return $this; @@ -181,9 +181,9 @@ class Event * Set user for this event. * * @param Document $user - * @return self + * @return static */ - public function setUser(Document $user): self + public function setUser(Document $user): static { $this->user = $user; @@ -193,9 +193,9 @@ class Event /** * Set user ID for this event. * - * @return self + * @return static */ - public function setUserId(string $userId): self + public function setUserId(string $userId): static { $this->userId = $userId; @@ -225,9 +225,9 @@ class Event * * @param array $payload * @param array $sensitive - * @return self + * @return static */ - public function setPayload(array $payload, array $sensitive = []): self + public function setPayload(array $payload, array $sensitive = []): static { $this->payload = $payload; diff --git a/src/Appwrite/Event/Messaging.php b/src/Appwrite/Event/Messaging.php index 3ddbac1040..f4c72c7d72 100644 --- a/src/Appwrite/Event/Messaging.php +++ b/src/Appwrite/Event/Messaging.php @@ -161,19 +161,6 @@ class Messaging extends Event return $this->scheduledAt; } - /** - * Set project for this event. - * - * @param Document $project - * @return self - */ - public function setProject(Document $project): self - { - $this->project = $project; - - return $this; - } - /** * Prepare the payload for the event * diff --git a/src/Appwrite/Platform/Workers/Messaging.php b/src/Appwrite/Platform/Workers/Messaging.php index 64224a9770..ae94c7580d 100644 --- a/src/Appwrite/Platform/Workers/Messaging.php +++ b/src/Appwrite/Platform/Workers/Messaging.php @@ -62,9 +62,6 @@ class Messaging extends Action */ public function __construct() { - - $this->adapter = $this->createInternalSMSAdapter(); - $this ->desc('Messaging worker') ->inject('message') @@ -390,6 +387,10 @@ class Messaging extends Action private function sendInternalSMSMessage(Document $message, Document $project, array $recipients, Log $log): void { + if ($this->adapter === null) { + $this->adapter = $this->createInternalSMSAdapter(); + } + if ($this->adapter === null) { Console::warning('Skipped SMS processing. SMS adapter is not set.'); return; From 5ae148f0260aefcaf137a6ae28cf661040e54a6e Mon Sep 17 00:00:00 2001 From: Hemachandar Date: Tue, 16 Dec 2025 10:59:16 +0530 Subject: [PATCH 089/220] Add logs to rules --- app/config/collections/platform.php | 11 + app/init/constants.php | 6 + src/Appwrite/Network/Validator/DNS.php | 139 +++++-------- .../Modules/Proxy/Http/Rules/API/Create.php | 116 +++-------- .../Modules/Proxy/Http/Rules/Action.php | 188 ++++++++++++++++++ .../Proxy/Http/Rules/Function/Create.php | 116 +++-------- .../Platform/Modules/Proxy/Http/Rules/Get.php | 12 +- .../Proxy/Http/Rules/Redirect/Create.php | 116 +++-------- .../Modules/Proxy/Http/Rules/Site/Create.php | 116 +++-------- .../Proxy/Http/Rules/Verification/Update.php | 113 +++-------- .../Modules/Proxy/Http/Rules/XList.php | 12 +- src/Appwrite/Utopia/Response/Model/Rule.php | 4 +- 12 files changed, 418 insertions(+), 531 deletions(-) create mode 100644 src/Appwrite/Platform/Modules/Proxy/Http/Rules/Action.php diff --git a/app/config/collections/platform.php b/app/config/collections/platform.php index b839e51622..d44d9b725c 100644 --- a/app/config/collections/platform.php +++ b/app/config/collections/platform.php @@ -1317,6 +1317,17 @@ return [ 'array' => false, 'filters' => [], ], + [ + '$id' => ID::custom('logs'), + 'type' => Database::VAR_STRING, + 'format' => '', + 'size' => 1000000, + 'signed' => true, + 'required' => false, + 'default' => '', + 'array' => false, + 'filters' => [], + ], ], 'indexes' => [ [ diff --git a/app/init/constants.php b/app/init/constants.php index 9c771edb0a..3168212e0d 100644 --- a/app/init/constants.php +++ b/app/init/constants.php @@ -208,6 +208,12 @@ const DELETE_TYPE_SESSION_TARGETS = 'session_targets'; const DELETE_TYPE_CSV_EXPORTS = 'csv_exports'; const DELETE_TYPE_MAINTENANCE = 'maintenance'; +// Rule statuses +const RULE_STATUS_CREATED = 'created'; // This is also the status when domain DNS verification fails. +const RULE_STATUS_CERTIFICATE_GENERATING = 'verifying'; +const RULE_STATUS_CERTIFICATE_GENERATION_FAILED = 'unverified'; +const RULE_STATUS_VERIFIED = 'verified'; + // Message types const MESSAGE_SEND_TYPE_INTERNAL = 'internal'; const MESSAGE_SEND_TYPE_EXTERNAL = 'external'; diff --git a/src/Appwrite/Network/Validator/DNS.php b/src/Appwrite/Network/Validator/DNS.php index e3c1d38015..2dc3504a96 100644 --- a/src/Appwrite/Network/Validator/DNS.php +++ b/src/Appwrite/Network/Validator/DNS.php @@ -2,115 +2,66 @@ namespace Appwrite\Network\Validator; -use Utopia\DNS\Client; -use Utopia\DNS\Message; -use Utopia\DNS\Message\Question; +use Swoole\Coroutine\WaitGroup; use Utopia\DNS\Message\Record; -use Utopia\Domains\Domain; -use Utopia\System\System; -use Utopia\Validator; +use Utopia\DNS\Validator\DNS as BaseDNS; -class DNS extends Validator +class DNS extends BaseDNS { - public function __construct( - protected string $target, - protected int $type = Record::TYPE_CNAME, - protected string $server = '' - ) { - $this->server = $server ?: System::getEnv('_APP_DNS', '8.8.8.8'); + protected array $dnsServers = []; + + /** + * @param string $target Expected value for the DNS record + * @param int $type Type of DNS record to validate + * For value, use const from Record, such as Record::TYPE_A + * When using CAA type, you can provide exact match, or just issuer domain as $target + * @param array $dnsServers DNS server IP(s) or domain(s) to use for validation + */ + public function __construct(string $target, int $type = Record::TYPE_CNAME, array $dnsServers = []) + { + parent::__construct($target, $type, $dnsServers[0] ?? self::DEFAULT_DNS_SERVER); + + $this->dnsServers = $dnsServers; } - public function getDescription(): string + /** + * Validate DNS record value against multiple DNS servers + * + * @param mixed $value + * @return bool + */ + public function isValid(mixed $value): bool { - return 'Invalid DNS record.'; - } + $wg = new WaitGroup(); + $failedValidator = null; - public function isValid($value): bool - { - if (!is_string($value) || trim($value) === '') { - return false; - } + foreach ($this->dnsServers as $dnsServer) { + $wg->add(); - $client = new Client($this->server); - try { - $response = $client->query(Message::query( - new Question($value, $this->type) - )); - } catch (\Throwable) { - return false; - } + \go(function () use ($value, $dnsServer, $wg, &$failedValidator) { + try { + $validator = new BaseDNS($this->target, $this->type, $dnsServer); + $isValid = $validator->isValid($value); - $typeMatches = array_filter( - $response->answers, - fn (Record $record) => $record->type === $this->type - ); - - if (empty($typeMatches)) { - if ($this->type === Record::TYPE_CAA) { - return $this->validateParentCAA($value); - } - - return false; - } - - foreach ($typeMatches as $record) { - if ($this->type === Record::TYPE_CAA) { - $valuePart = $this->extractCAAValue($record->rdata); - if ($valuePart !== '' && $valuePart === $this->target) { - return true; + if (!$isValid) { + $failedValidator = $validator; + } + } finally { + $wg->done(); } - } - - if ($record->rdata === $this->target) { - return true; - } + }); } - return false; - } + $wg->wait(); - private function validateParentCAA(string $domain): bool - { - try { - $domainInfo = new Domain($domain); - } catch (\Throwable) { + if (!\is_null($failedValidator)) { + $this->count = $failedValidator->count; + $this->value = $failedValidator->value; + $this->reason = $failedValidator->reason; + $this->records = $failedValidator->records; return false; } - if ($domainInfo->get() === $domainInfo->getApex()) { - return true; - } - - $parts = explode('.', $domainInfo->get()); - array_shift($parts); - $parent = implode('.', $parts); - - if ($parent === '') { - return false; - } - - $validator = new self($this->target, Record::TYPE_CAA, $this->server); - return $validator->isValid($parent); - } - - private function extractCAAValue(string $rdata): string - { - $parts = explode(' ', $rdata, 3); - if (count($parts) < 3) { - return ''; - } - - $value = trim($parts[2], '"'); - return explode(';', $value)[0] ?? ''; - } - - public function isArray(): bool - { - return false; - } - - public function getType(): string - { - return self::TYPE_STRING; + return true; } } diff --git a/src/Appwrite/Platform/Modules/Proxy/Http/Rules/API/Create.php b/src/Appwrite/Platform/Modules/Proxy/Http/Rules/API/Create.php index e6805f0759..fc4537301e 100644 --- a/src/Appwrite/Platform/Modules/Proxy/Http/Rules/API/Create.php +++ b/src/Appwrite/Platform/Modules/Proxy/Http/Rules/API/Create.php @@ -5,7 +5,7 @@ namespace Appwrite\Platform\Modules\Proxy\Http\Rules\API; use Appwrite\Event\Certificate; use Appwrite\Event\Event; use Appwrite\Extend\Exception; -use Appwrite\Network\Validator\DNS; +use Appwrite\Platform\Modules\Proxy\Http\Rules\Action; use Appwrite\SDK\AuthType; use Appwrite\SDK\Method; use Appwrite\SDK\Response as SDKResponse; @@ -14,14 +14,10 @@ use Utopia\Database\Database; use Utopia\Database\Document; use Utopia\Database\Exception\Duplicate; use Utopia\Database\Helpers\ID; -use Utopia\DNS\Message\Record; -use Utopia\Domains\Domain; -use Utopia\Platform\Action; +use Utopia\Logger\Log; use Utopia\Platform\Scope\HTTP; use Utopia\System\System; -use Utopia\Validator\AnyOf; use Utopia\Validator\Domain as ValidatorDomain; -use Utopia\Validator\IP; class Create extends Action { @@ -32,8 +28,10 @@ class Create extends Action return 'createAPIRule'; } - public function __construct() + public function __construct(...$params) { + parent::__construct(...$params); + $this ->setHttpMethod(Action::HTTP_REQUEST_METHOD_POST) ->setHttpPath('/v1/proxy/rules/api') @@ -68,108 +66,43 @@ class Create extends Action ->inject('queueForEvents') ->inject('dbForPlatform') ->inject('platform') + ->inject('log') ->callback($this->action(...)); } - public function action(string $domain, Response $response, Document $project, Certificate $queueForCertificates, Event $queueForEvents, Database $dbForPlatform, array $platform) + public function action(string $domain, Response $response, Document $project, Certificate $queueForCertificates, Event $queueForEvents, Database $dbForPlatform, array $platform, Log $log) { - $domains = $platform['hostnames'] ?? []; + $this->validateDomainRestrictions($domain, $platform); + $sitesDomain = System::getEnv('_APP_DOMAIN_SITES', ''); $functionsDomain = System::getEnv('_APP_DOMAIN_FUNCTIONS', ''); - $restrictions = []; - if (!empty($sitesDomain)) { - $domainLevel = \count(\explode('.', $sitesDomain)); - $restrictions[] = ValidatorDomain::createRestriction($sitesDomain, $domainLevel + 1, ['commit-', 'branch-']); - } - if (!empty($functionsDomain)) { - $domainLevel = \count(\explode('.', $functionsDomain)); - $restrictions[] = ValidatorDomain::createRestriction($functionsDomain, $domainLevel + 1); - } - $validator = new ValidatorDomain($restrictions); - - if (!$validator->isValid($domain)) { - throw new Exception(Exception::GENERAL_ARGUMENT_INVALID, 'This domain name is not allowed. Please use a different domain.'); - } - - $deniedDomains = [...$domains]; - - if (!empty($sitesDomain)) { - $deniedDomains[] = $sitesDomain; - } - - if (!empty($functionsDomain)) { - $deniedDomains[] = $functionsDomain; - } - - $denyListDomains = System::getEnv('_APP_CUSTOM_DOMAIN_DENY_LIST', ''); - $denyListDomains = \array_map('trim', explode(',', $denyListDomains)); - foreach ($denyListDomains as $denyListDomain) { - if (empty($denyListDomain)) { - continue; - } - $deniedDomains[] = $denyListDomain; - } - - if (\in_array($domain, $deniedDomains)) { - throw new Exception(Exception::GENERAL_ARGUMENT_INVALID, 'This domain name is not allowed. Please use a different domain.'); - } - - try { - $domain = new Domain($domain); - } catch (\Throwable) { - throw new Exception(Exception::GENERAL_ARGUMENT_INVALID, 'Domain may not start with http:// or https://.'); - } - // TODO: (@Meldiron) Remove after 1.7.x migration - $isMd5 = System::getEnv('_APP_RULES_FORMAT') === 'md5'; - $ruleId = $isMd5 ? md5($domain->get()) : ID::unique(); - - $status = 'created'; - if (\str_ends_with($domain->get(), $functionsDomain) || \str_ends_with($domain->get(), $sitesDomain)) { - $status = 'verified'; - } - if ($status === 'created') { - $validators = []; - $targetCNAME = new Domain(System::getEnv('_APP_DOMAIN_TARGET_CNAME', '')); - if ($targetCNAME->isKnown() && !$targetCNAME->isTest()) { - $validators[] = new DNS($targetCNAME->get(), Record::TYPE_CNAME); - } - if ((new IP(IP::V4))->isValid(System::getEnv('_APP_DOMAIN_TARGET_A', ''))) { - $validators[] = new DNS(System::getEnv('_APP_DOMAIN_TARGET_A', ''), Record::TYPE_A); - } - if ((new IP(IP::V6))->isValid(System::getEnv('_APP_DOMAIN_TARGET_AAAA', ''))) { - $validators[] = new DNS(System::getEnv('_APP_DOMAIN_TARGET_AAAA', ''), Record::TYPE_AAAA); - } - - if (empty($validators)) { - throw new Exception(Exception::GENERAL_SERVER_ERROR, 'At least one of domain targets environment variable must be configured.'); - } - - $validator = new AnyOf($validators, AnyOf::TYPE_STRING); - if ($validator->isValid($domain->get())) { - $status = 'verifying'; - } - } + $ruleId = System::getEnv('_APP_RULES_FORMAT') === 'md5' ? md5($domain) : ID::unique(); $owner = ''; if ( - ($functionsDomain != '' && \str_ends_with($domain->get(), $functionsDomain)) || - ($sitesDomain != '' && \str_ends_with($domain->get(), $sitesDomain)) + ($functionsDomain != '' && \str_ends_with($domain, $functionsDomain)) || + ($sitesDomain != '' && \str_ends_with($domain, $sitesDomain)) ) { $owner = 'Appwrite'; } + $status = RULE_STATUS_CREATED; + if (\str_ends_with($domain, $functionsDomain) || \str_ends_with($domain, $sitesDomain)) { + $status = RULE_STATUS_VERIFIED; + } + $rule = new Document([ '$id' => $ruleId, 'projectId' => $project->getId(), 'projectInternalId' => $project->getSequence(), - 'domain' => $domain->get(), + 'domain' => $domain, 'status' => $status, 'type' => 'api', 'trigger' => 'manual', 'certificateId' => '', - 'search' => implode(' ', [$ruleId, $domain->get()]), + 'search' => implode(' ', [$ruleId, $domain]), 'owner' => $owner, 'region' => $project->getAttribute('region') ]); @@ -180,7 +113,16 @@ class Create extends Action throw new Exception(Exception::RULE_ALREADY_EXISTS); } - if ($rule->getAttribute('status', '') === 'verifying') { + if ($rule->getAttribute('status', '') === RULE_STATUS_CREATED) { + try { + $this->verifyRule($rule, $log); + $rule->setAttribute('status', RULE_STATUS_CERTIFICATE_GENERATING); + } catch (Exception $err) { + $rule->setAttribute('logs', $err->getMessage()); + } + } + + if ($rule->getAttribute('status', '') === RULE_STATUS_CERTIFICATE_GENERATING) { $queueForCertificates ->setDomain(new Document([ 'domain' => $rule->getAttribute('domain'), diff --git a/src/Appwrite/Platform/Modules/Proxy/Http/Rules/Action.php b/src/Appwrite/Platform/Modules/Proxy/Http/Rules/Action.php new file mode 100644 index 0000000000..5ec5b8b8f5 --- /dev/null +++ b/src/Appwrite/Platform/Modules/Proxy/Http/Rules/Action.php @@ -0,0 +1,188 @@ +isValid($domain)) { + throw new Exception(Exception::GENERAL_ARGUMENT_INVALID, 'This domain name is not allowed. Please use a different domain.'); + } + + $deniedDomains = [...$domains]; + + if (!empty($sitesDomain)) { + $deniedDomains[] = $sitesDomain; + } + + if (!empty($functionsDomain)) { + $deniedDomains[] = $functionsDomain; + } + + $denyListDomains = System::getEnv('_APP_CUSTOM_DOMAIN_DENY_LIST', ''); + $denyListDomains = \array_map('trim', explode(',', $denyListDomains)); + foreach ($denyListDomains as $denyListDomain) { + if (empty($denyListDomain)) { + continue; + } + $deniedDomains[] = $denyListDomain; + } + + if (\in_array($domain, $deniedDomains)) { + throw new Exception(Exception::GENERAL_ARGUMENT_INVALID, 'This domain name is not allowed. Please use a different domain.'); + } + + try { + $domain = new Domain($domain); + } catch (\Throwable) { + throw new Exception(Exception::GENERAL_ARGUMENT_INVALID, 'Domain may not start with http:// or https://.'); + } + } + + /** + * Verify or re-verify a rule + * + * @param Document $rule Rule to verify + * @param Log|null $log Log instance to add timings to + * @return void + */ + protected function verifyRule(Document $rule, ?Log $log = null): void + { + $dnsValidatorClass = $this->dnsValidatorClass; + $dnsEnv = System::getEnv('_APP_DNS', '8.8.8.8'); + $servers = \array_map('trim', \explode(',', $dnsEnv)); + $dnsServers = \array_filter($servers, fn ($server) => !empty($server)); + + $domain = new Domain($rule->getAttribute('domain', '')); + + if (empty($domain->get())) { + throw new Exception(Exception::RULE_VERIFICATION_FAILED, 'DNS verification failed as domain is not valid.'); + } + + if (!$domain->isKnown() || $domain->isTest()) { + throw new Exception(Exception::RULE_VERIFICATION_FAILED, 'DNS verification failed as domain ' . $domain->get() . ' does not resolve to a known public apex domain.'); + } + + // Ensure CAA won't block certificate issuance + $caaTarget = System::getEnv('_APP_DOMAIN_TARGET_CAA', ''); + if (!empty($caaTarget)) { + $validationStart = \microtime(true); + $validator = new $dnsValidatorClass($caaTarget, Record::TYPE_CAA, $dnsServers); + if (!$validator->isValid($domain->get())) { + if (!\is_null($log)) { + $log->addExtra('dnsTimingCaa', \strval(\microtime(true) - $validationStart)); + $log->addTag('dnsDomain', $domain->get()); + } + throw new Exception(Exception::RULE_VERIFICATION_FAILED, $validator->getDescription()); + } + } + + $targetCNAME = null; + $ruleType = $rule->getAttribute('type', ''); + $resourceType = $rule->getAttribute('deploymentResourceType', ''); + + // Ensures different target based on rule's type, as configured by env variables + if ($resourceType === 'function') { + // For example: fra.appwrite.run + $targetCNAME = new Domain(System::getEnv('_APP_DOMAIN_FUNCTIONS', '')); + } elseif ($resourceType === 'site') { + // For example: appwrite.network + $targetCNAME = new Domain(System::getEnv('_APP_DOMAIN_SITES', '')); + } elseif ($ruleType === 'api') { + // For example: fra.cloud.appwrite.io + $targetCNAME = new Domain(System::getEnv('_APP_DOMAIN_TARGET_CNAME', '')); + } elseif ($ruleType === 'redirect') { + // Shouldn't be needed, because redirect should always have resourceTyp too, but just in case we default to sites + // For example: appwrite.network + $targetCNAME = new Domain(System::getEnv('_APP_DOMAIN_SITES', '')); + } + + $validators = []; + $mainValidator = null; // Validator to use for error description + + if (!is_null($targetCNAME)) { + $validator = new $dnsValidatorClass($targetCNAME->get(), Record::TYPE_CNAME, $dnsServers); + $validators[] = $validator; + + if (\is_null($mainValidator)) { + $mainValidator = $validator; + } + } + + // Ensure at least one of CNAME/A/AAAA record points to our servers properly + $targetA = System::getEnv('_APP_DOMAIN_TARGET_A', ''); + if ((new IP(IP::V4))->isValid($targetA)) { + $validator = new $dnsValidatorClass($targetA, Record::TYPE_A, $dnsServers); + $validators[] = $validator; + + if (\is_null($mainValidator)) { + $mainValidator = $validator; + } + } + + $targetAAAA = System::getEnv('_APP_DOMAIN_TARGET_AAAA', ''); + if ((new IP(IP::V6))->isValid($targetAAAA)) { + $validator = new $dnsValidatorClass($targetAAAA, Record::TYPE_AAAA, $dnsServers); + $validators[] = $validator; + + if (\is_null($mainValidator)) { + $mainValidator = $validator; + } + } + + if (empty($validators)) { + throw new Exception(Exception::GENERAL_SERVER_ERROR, 'At least one of domain targets environment variable must be configured.'); + } + + $validator = new AnyOf($validators, AnyOf::TYPE_STRING); + + $validationStart = \microtime(true); + if (!$validator->isValid($domain->get())) { + if (!\is_null($log)) { + $log->addExtra('dnsTiming', \strval(\microtime(true) - $validationStart)); + $log->addTag('dnsDomain', $domain->get()); + } + throw new Exception(Exception::RULE_VERIFICATION_FAILED, $mainValidator->getDescription()); + } + } +} diff --git a/src/Appwrite/Platform/Modules/Proxy/Http/Rules/Function/Create.php b/src/Appwrite/Platform/Modules/Proxy/Http/Rules/Function/Create.php index 575ac9b832..c88e3e5085 100644 --- a/src/Appwrite/Platform/Modules/Proxy/Http/Rules/Function/Create.php +++ b/src/Appwrite/Platform/Modules/Proxy/Http/Rules/Function/Create.php @@ -5,7 +5,7 @@ namespace Appwrite\Platform\Modules\Proxy\Http\Rules\Function; use Appwrite\Event\Certificate; use Appwrite\Event\Event; use Appwrite\Extend\Exception; -use Appwrite\Network\Validator\DNS; +use Appwrite\Platform\Modules\Proxy\Http\Rules\Action; use Appwrite\SDK\AuthType; use Appwrite\SDK\Method; use Appwrite\SDK\Response as SDKResponse; @@ -15,14 +15,10 @@ use Utopia\Database\Document; use Utopia\Database\Exception\Duplicate; use Utopia\Database\Helpers\ID; use Utopia\Database\Validator\UID; -use Utopia\DNS\Message\Record; -use Utopia\Domains\Domain; -use Utopia\Platform\Action; +use Utopia\Logger\Log; use Utopia\Platform\Scope\HTTP; use Utopia\System\System; -use Utopia\Validator\AnyOf; use Utopia\Validator\Domain as ValidatorDomain; -use Utopia\Validator\IP; use Utopia\Validator\Text; class Create extends Action @@ -34,8 +30,10 @@ class Create extends Action return 'createFunctionRule'; } - public function __construct() + public function __construct(...$params) { + parent::__construct(...$params); + $this ->setHttpMethod(Action::HTTP_REQUEST_METHOD_POST) ->setHttpPath('/v1/proxy/rules/function') @@ -73,59 +71,17 @@ class Create extends Action ->inject('dbForPlatform') ->inject('dbForProject') ->inject('platform') + ->inject('log') ->callback($this->action(...)); } - public function action(string $domain, string $functionId, string $branch, Response $response, Document $project, Certificate $queueForCertificates, Event $queueForEvents, Database $dbForPlatform, Database $dbForProject, array $platform) + public function action(string $domain, string $functionId, string $branch, Response $response, Document $project, Certificate $queueForCertificates, Event $queueForEvents, Database $dbForPlatform, Database $dbForProject, array $platform, Log $log) { - $domains = $platform['hostnames'] ?? []; + $this->validateDomainRestrictions($domain, $platform); + $sitesDomain = System::getEnv('_APP_DOMAIN_SITES', ''); $functionsDomain = System::getEnv('_APP_DOMAIN_FUNCTIONS', ''); - $restrictions = []; - if (!empty($sitesDomain)) { - $domainLevel = \count(\explode('.', $sitesDomain)); - $restrictions[] = ValidatorDomain::createRestriction($sitesDomain, $domainLevel + 1, ['commit-', 'branch-']); - } - if (!empty($functionsDomain)) { - $domainLevel = \count(\explode('.', $functionsDomain)); - $restrictions[] = ValidatorDomain::createRestriction($functionsDomain, $domainLevel + 1); - } - $validator = new ValidatorDomain($restrictions); - - if (!$validator->isValid($domain)) { - throw new Exception(Exception::GENERAL_ARGUMENT_INVALID, 'This domain name is not allowed. Please use a different domain.'); - } - - $deniedDomains = [...$domains]; - - if (!empty($sitesDomain)) { - $deniedDomains[] = $sitesDomain; - } - - if (!empty($functionsDomain)) { - $deniedDomains[] = $functionsDomain; - } - - $denyListDomains = System::getEnv('_APP_CUSTOM_DOMAIN_DENY_LIST', ''); - $denyListDomains = \array_map('trim', explode(',', $denyListDomains)); - foreach ($denyListDomains as $denyListDomain) { - if (empty($denyListDomain)) { - continue; - } - $deniedDomains[] = $denyListDomain; - } - - if (\in_array($domain, $deniedDomains)) { - throw new Exception(Exception::GENERAL_ARGUMENT_INVALID, 'This domain name is not allowed. Please use a different domain.'); - } - - try { - $domain = new Domain($domain); - } catch (\Throwable) { - throw new Exception(Exception::GENERAL_ARGUMENT_INVALID, 'Domain may not start with http:// or https://.'); - } - $function = $dbForProject->getDocument('functions', $functionId); if ($function->isEmpty()) { throw new Exception(Exception::RULE_RESOURCE_NOT_FOUND); @@ -134,49 +90,26 @@ class Create extends Action $deployment = $dbForProject->getDocument('deployments', $function->getAttribute('deploymentId', '')); // TODO: (@Meldiron) Remove after 1.7.x migration - $isMd5 = System::getEnv('_APP_RULES_FORMAT') === 'md5'; - $ruleId = $isMd5 ? md5($domain->get()) : ID::unique(); - - $status = 'created'; - if (\str_ends_with($domain->get(), $functionsDomain) || \str_ends_with($domain->get(), $sitesDomain)) { - $status = 'verified'; - } - if ($status === 'created') { - $validators = []; - $targetCNAME = new Domain(System::getEnv('_APP_DOMAIN_TARGET_CNAME', '')); - if ($targetCNAME->isKnown() && !$targetCNAME->isTest()) { - $validators[] = new DNS($targetCNAME->get(), Record::TYPE_CNAME); - } - if ((new IP(IP::V4))->isValid(System::getEnv('_APP_DOMAIN_TARGET_A', ''))) { - $validators[] = new DNS(System::getEnv('_APP_DOMAIN_TARGET_A', ''), Record::TYPE_A); - } - if ((new IP(IP::V6))->isValid(System::getEnv('_APP_DOMAIN_TARGET_AAAA', ''))) { - $validators[] = new DNS(System::getEnv('_APP_DOMAIN_TARGET_AAAA', ''), Record::TYPE_AAAA); - } - - if (empty($validators)) { - throw new Exception(Exception::GENERAL_SERVER_ERROR, 'At least one of domain targets environment variable must be configured.'); - } - - $validator = new AnyOf($validators, AnyOf::TYPE_STRING); - if ($validator->isValid($domain->get())) { - $status = 'verifying'; - } - } + $ruleId = System::getEnv('_APP_RULES_FORMAT') === 'md5' ? md5($domain) : ID::unique(); $owner = ''; if ( - ($functionsDomain != '' && \str_ends_with($domain->get(), $functionsDomain)) || - ($sitesDomain != '' && \str_ends_with($domain->get(), $sitesDomain)) + ($functionsDomain != '' && \str_ends_with($domain, $functionsDomain)) || + ($sitesDomain != '' && \str_ends_with($domain, $sitesDomain)) ) { $owner = 'Appwrite'; } + $status = RULE_STATUS_CREATED; + if (\str_ends_with($domain, $functionsDomain) || \str_ends_with($domain, $sitesDomain)) { + $status = RULE_STATUS_VERIFIED; + } + $rule = new Document([ '$id' => $ruleId, 'projectId' => $project->getId(), 'projectInternalId' => $project->getSequence(), - 'domain' => $domain->get(), + 'domain' => $domain, 'status' => $status, 'type' => 'deployment', 'trigger' => 'manual', @@ -187,7 +120,7 @@ class Create extends Action 'deploymentResourceInternalId' => $function->getSequence(), 'deploymentVcsProviderBranch' => $branch, 'certificateId' => '', - 'search' => implode(' ', [$ruleId, $domain->get(), $branch]), + 'search' => implode(' ', [$ruleId, $domain, $branch]), 'owner' => $owner, 'region' => $project->getAttribute('region') ]); @@ -198,7 +131,16 @@ class Create extends Action throw new Exception(Exception::RULE_ALREADY_EXISTS); } - if ($rule->getAttribute('status', '') === 'verifying') { + if ($rule->getAttribute('status', '') === RULE_STATUS_CREATED) { + try { + $this->verifyRule($rule, $log); + $rule->setAttribute('status', RULE_STATUS_CERTIFICATE_GENERATING); + } catch (Exception $err) { + $rule->setAttribute('logs', $err->getMessage()); + } + } + + if ($rule->getAttribute('status', '') === RULE_STATUS_CERTIFICATE_GENERATING) { $queueForCertificates ->setDomain(new Document([ 'domain' => $rule->getAttribute('domain'), diff --git a/src/Appwrite/Platform/Modules/Proxy/Http/Rules/Get.php b/src/Appwrite/Platform/Modules/Proxy/Http/Rules/Get.php index 77aa3df581..4581cb3d08 100644 --- a/src/Appwrite/Platform/Modules/Proxy/Http/Rules/Get.php +++ b/src/Appwrite/Platform/Modules/Proxy/Http/Rules/Get.php @@ -10,7 +10,6 @@ use Appwrite\Utopia\Response; use Utopia\Database\Database; use Utopia\Database\Document; use Utopia\Database\Validator\UID; -use Utopia\Platform\Action; use Utopia\Platform\Scope\HTTP; class Get extends Action @@ -22,8 +21,10 @@ class Get extends Action return 'getRule'; } - public function __construct() + public function __construct(...$params) { + parent::__construct(...$params); + $this ->setHttpMethod(Action::HTTP_REQUEST_METHOD_GET) ->setHttpPath('/v1/proxy/rules/:ruleId') @@ -65,7 +66,12 @@ class Get extends Action } $certificate = $dbForPlatform->getDocument('certificates', $rule->getAttribute('certificateId', '')); - $rule->setAttribute('logs', $certificate->getAttribute('logs', '')); + + // Give priority to certificate generation logs if present + if (!empty($certificate->getAttribute('logs', ''))) { + $rule->setAttribute('logs', $certificate->getAttribute('logs', '')); + } + $rule->setAttribute('renewAt', $certificate->getAttribute('renewDate', '')); $response->dynamic($rule, Response::MODEL_PROXY_RULE); diff --git a/src/Appwrite/Platform/Modules/Proxy/Http/Rules/Redirect/Create.php b/src/Appwrite/Platform/Modules/Proxy/Http/Rules/Redirect/Create.php index 50b1a4e2df..1f785f858c 100644 --- a/src/Appwrite/Platform/Modules/Proxy/Http/Rules/Redirect/Create.php +++ b/src/Appwrite/Platform/Modules/Proxy/Http/Rules/Redirect/Create.php @@ -5,7 +5,7 @@ namespace Appwrite\Platform\Modules\Proxy\Http\Rules\Redirect; use Appwrite\Event\Certificate; use Appwrite\Event\Event; use Appwrite\Extend\Exception; -use Appwrite\Network\Validator\DNS; +use Appwrite\Platform\Modules\Proxy\Http\Rules\Action; use Appwrite\SDK\AuthType; use Appwrite\SDK\Method; use Appwrite\SDK\Response as SDKResponse; @@ -15,14 +15,10 @@ use Utopia\Database\Document; use Utopia\Database\Exception\Duplicate; use Utopia\Database\Helpers\ID; use Utopia\Database\Validator\UID; -use Utopia\DNS\Message\Record; -use Utopia\Domains\Domain; -use Utopia\Platform\Action; +use Utopia\Logger\Log; use Utopia\Platform\Scope\HTTP; use Utopia\System\System; -use Utopia\Validator\AnyOf; use Utopia\Validator\Domain as ValidatorDomain; -use Utopia\Validator\IP; use Utopia\Validator\URL; use Utopia\Validator\WhiteList; @@ -35,8 +31,10 @@ class Create extends Action return 'createRedirectRule'; } - public function __construct() + public function __construct(...$params) { + parent::__construct(...$params); + $this ->setHttpMethod(Action::HTTP_REQUEST_METHOD_POST) ->setHttpPath('/v1/proxy/rules/redirect') @@ -76,59 +74,17 @@ class Create extends Action ->inject('dbForPlatform') ->inject('dbForProject') ->inject('platform') + ->inject('log') ->callback($this->action(...)); } - public function action(string $domain, string $url, int $statusCode, string $resourceId, string $resourceType, Response $response, Document $project, Certificate $queueForCertificates, Event $queueForEvents, Database $dbForPlatform, Database $dbForProject, array $platform) + public function action(string $domain, string $url, int $statusCode, string $resourceId, string $resourceType, Response $response, Document $project, Certificate $queueForCertificates, Event $queueForEvents, Database $dbForPlatform, Database $dbForProject, array $platform, Log $log) { - $domains = $platform['hostnames'] ?? []; + $this->validateDomainRestrictions($domain, $platform); + $sitesDomain = System::getEnv('_APP_DOMAIN_SITES', ''); $functionsDomain = System::getEnv('_APP_DOMAIN_FUNCTIONS', ''); - $restrictions = []; - if (!empty($sitesDomain)) { - $domainLevel = \count(\explode('.', $sitesDomain)); - $restrictions[] = ValidatorDomain::createRestriction($sitesDomain, $domainLevel + 1, ['commit-', 'branch-']); - } - if (!empty($functionsDomain)) { - $domainLevel = \count(\explode('.', $functionsDomain)); - $restrictions[] = ValidatorDomain::createRestriction($functionsDomain, $domainLevel + 1); - } - $validator = new ValidatorDomain($restrictions); - - if (!$validator->isValid($domain)) { - throw new Exception(Exception::GENERAL_ARGUMENT_INVALID, 'This domain name is not allowed. Please use a different domain.'); - } - - $deniedDomains = [...$domains]; - - if (!empty($sitesDomain)) { - $deniedDomains[] = $sitesDomain; - } - - if (!empty($functionsDomain)) { - $deniedDomains[] = $functionsDomain; - } - - $denyListDomains = System::getEnv('_APP_CUSTOM_DOMAIN_DENY_LIST', ''); - $denyListDomains = \array_map('trim', explode(',', $denyListDomains)); - foreach ($denyListDomains as $denyListDomain) { - if (empty($denyListDomain)) { - continue; - } - $deniedDomains[] = $denyListDomain; - } - - if (\in_array($domain, $deniedDomains)) { - throw new Exception(Exception::GENERAL_ARGUMENT_INVALID, 'This domain name is not allowed. Please use a different domain.'); - } - - try { - $domain = new Domain($domain); - } catch (\Throwable) { - throw new Exception(Exception::GENERAL_ARGUMENT_INVALID, 'Domain may not start with http:// or https://.'); - } - $collection = match ($resourceType) { 'site' => 'sites', 'function' => 'functions' @@ -139,49 +95,26 @@ class Create extends Action } // TODO: (@Meldiron) Remove after 1.7.x migration - $isMd5 = System::getEnv('_APP_RULES_FORMAT') === 'md5'; - $ruleId = $isMd5 ? md5($domain->get()) : ID::unique(); - - $status = 'created'; - if (\str_ends_with($domain->get(), $functionsDomain) || \str_ends_with($domain->get(), $sitesDomain)) { - $status = 'verified'; - } - if ($status === 'created') { - $validators = []; - $targetCNAME = new Domain(System::getEnv('_APP_DOMAIN_TARGET_CNAME', '')); - if ($targetCNAME->isKnown() && !$targetCNAME->isTest()) { - $validators[] = new DNS($targetCNAME->get(), Record::TYPE_CNAME); - } - if ((new IP(IP::V4))->isValid(System::getEnv('_APP_DOMAIN_TARGET_A', ''))) { - $validators[] = new DNS(System::getEnv('_APP_DOMAIN_TARGET_A', ''), Record::TYPE_A); - } - if ((new IP(IP::V6))->isValid(System::getEnv('_APP_DOMAIN_TARGET_AAAA', ''))) { - $validators[] = new DNS(System::getEnv('_APP_DOMAIN_TARGET_AAAA', ''), Record::TYPE_AAAA); - } - - if (empty($validators)) { - throw new Exception(Exception::GENERAL_SERVER_ERROR, 'At least one of domain targets environment variable must be configured.'); - } - - $validator = new AnyOf($validators, AnyOf::TYPE_STRING); - if ($validator->isValid($domain->get())) { - $status = 'verifying'; - } - } + $ruleId = System::getEnv('_APP_RULES_FORMAT') === 'md5' ? md5($domain) : ID::unique(); $owner = ''; if ( - ($functionsDomain != '' && \str_ends_with($domain->get(), $functionsDomain)) || - ($sitesDomain != '' && \str_ends_with($domain->get(), $sitesDomain)) + ($functionsDomain != '' && \str_ends_with($domain, $functionsDomain)) || + ($sitesDomain != '' && \str_ends_with($domain, $sitesDomain)) ) { $owner = 'Appwrite'; } + $status = RULE_STATUS_CREATED; + if (\str_ends_with($domain, $functionsDomain) || \str_ends_with($domain, $sitesDomain)) { + $status = RULE_STATUS_VERIFIED; + } + $rule = new Document([ '$id' => $ruleId, 'projectId' => $project->getId(), 'projectInternalId' => $project->getSequence(), - 'domain' => $domain->get(), + 'domain' => $domain, 'status' => $status, 'type' => 'redirect', 'trigger' => 'manual', @@ -191,7 +124,7 @@ class Create extends Action 'deploymentResourceId' => $resource->getId(), 'deploymentResourceInternalId' => $resource->getSequence(), 'certificateId' => '', - 'search' => implode(' ', [$ruleId, $domain->get()]), + 'search' => implode(' ', [$ruleId, $domain]), 'owner' => $owner, 'region' => $project->getAttribute('region') ]); @@ -202,7 +135,16 @@ class Create extends Action throw new Exception(Exception::RULE_ALREADY_EXISTS); } - if ($rule->getAttribute('status', '') === 'verifying') { + if ($rule->getAttribute('status', '') === RULE_STATUS_CREATED) { + try { + $this->verifyRule($rule, $log); + $rule->setAttribute('status', RULE_STATUS_CERTIFICATE_GENERATING); + } catch (Exception $err) { + $rule->setAttribute('logs', $err->getMessage()); + } + } + + if ($rule->getAttribute('status', '') === RULE_STATUS_CERTIFICATE_GENERATING) { $queueForCertificates ->setDomain(new Document([ 'domain' => $rule->getAttribute('domain'), diff --git a/src/Appwrite/Platform/Modules/Proxy/Http/Rules/Site/Create.php b/src/Appwrite/Platform/Modules/Proxy/Http/Rules/Site/Create.php index 2071477eec..793383e3ba 100644 --- a/src/Appwrite/Platform/Modules/Proxy/Http/Rules/Site/Create.php +++ b/src/Appwrite/Platform/Modules/Proxy/Http/Rules/Site/Create.php @@ -5,7 +5,7 @@ namespace Appwrite\Platform\Modules\Proxy\Http\Rules\Site; use Appwrite\Event\Certificate; use Appwrite\Event\Event; use Appwrite\Extend\Exception; -use Appwrite\Network\Validator\DNS; +use Appwrite\Platform\Modules\Proxy\Http\Rules\Action; use Appwrite\SDK\AuthType; use Appwrite\SDK\Method; use Appwrite\SDK\Response as SDKResponse; @@ -15,14 +15,10 @@ use Utopia\Database\Document; use Utopia\Database\Exception\Duplicate; use Utopia\Database\Helpers\ID; use Utopia\Database\Validator\UID; -use Utopia\DNS\Message\Record; -use Utopia\Domains\Domain; -use Utopia\Platform\Action; +use Utopia\Logger\Log; use Utopia\Platform\Scope\HTTP; use Utopia\System\System; -use Utopia\Validator\AnyOf; use Utopia\Validator\Domain as ValidatorDomain; -use Utopia\Validator\IP; use Utopia\Validator\Text; class Create extends Action @@ -34,8 +30,10 @@ class Create extends Action return 'createSiteRule'; } - public function __construct() + public function __construct(...$params) { + parent::__construct(...$params); + $this ->setHttpMethod(Action::HTTP_REQUEST_METHOD_POST) ->setHttpPath('/v1/proxy/rules/site') @@ -73,59 +71,17 @@ class Create extends Action ->inject('dbForPlatform') ->inject('dbForProject') ->inject('platform') + ->inject('log') ->callback($this->action(...)); } - public function action(string $domain, string $siteId, string $branch, Response $response, Document $project, Certificate $queueForCertificates, Event $queueForEvents, Database $dbForPlatform, Database $dbForProject, array $platform) + public function action(string $domain, string $siteId, string $branch, Response $response, Document $project, Certificate $queueForCertificates, Event $queueForEvents, Database $dbForPlatform, Database $dbForProject, array $platform, Log $log) { - $domains = $platform['hostnames'] ?? []; + $this->validateDomainRestrictions($domain, $platform); + $sitesDomain = System::getEnv('_APP_DOMAIN_SITES', ''); $functionsDomain = System::getEnv('_APP_DOMAIN_FUNCTIONS', ''); - $restrictions = []; - if (!empty($sitesDomain)) { - $domainLevel = \count(\explode('.', $sitesDomain)); - $restrictions[] = ValidatorDomain::createRestriction($sitesDomain, $domainLevel + 1, ['commit-', 'branch-']); - } - if (!empty($functionsDomain)) { - $domainLevel = \count(\explode('.', $functionsDomain)); - $restrictions[] = ValidatorDomain::createRestriction($functionsDomain, $domainLevel + 1); - } - $validator = new ValidatorDomain($restrictions); - - if (!$validator->isValid($domain)) { - throw new Exception(Exception::GENERAL_ARGUMENT_INVALID, 'This domain name is not allowed. Please use a different domain.'); - } - - $deniedDomains = [...$domains]; - - if (!empty($sitesDomain)) { - $deniedDomains[] = $sitesDomain; - } - - if (!empty($functionsDomain)) { - $deniedDomains[] = $functionsDomain; - } - - $denyListDomains = System::getEnv('_APP_CUSTOM_DOMAIN_DENY_LIST', ''); - $denyListDomains = \array_map('trim', explode(',', $denyListDomains)); - foreach ($denyListDomains as $denyListDomain) { - if (empty($denyListDomain)) { - continue; - } - $deniedDomains[] = $denyListDomain; - } - - if (\in_array($domain, $deniedDomains)) { - throw new Exception(Exception::GENERAL_ARGUMENT_INVALID, 'This domain name is not allowed. Please use a different domain.'); - } - - try { - $domain = new Domain($domain); - } catch (\Throwable) { - throw new Exception(Exception::GENERAL_ARGUMENT_INVALID, 'Domain may not start with http:// or https://.'); - } - $site = $dbForProject->getDocument('sites', $siteId); if ($site->isEmpty()) { throw new Exception(Exception::RULE_RESOURCE_NOT_FOUND); @@ -134,49 +90,26 @@ class Create extends Action $deployment = $dbForProject->getDocument('deployments', $site->getAttribute('deploymentId', '')); // TODO: (@Meldiron) Remove after 1.7.x migration - $isMd5 = System::getEnv('_APP_RULES_FORMAT') === 'md5'; - $ruleId = $isMd5 ? md5($domain->get()) : ID::unique(); - - $status = 'created'; - if (\str_ends_with($domain->get(), $functionsDomain) || \str_ends_with($domain->get(), $sitesDomain)) { - $status = 'verified'; - } - if ($status === 'created') { - $validators = []; - $targetCNAME = new Domain(System::getEnv('_APP_DOMAIN_TARGET_CNAME', '')); - if ($targetCNAME->isKnown() && !$targetCNAME->isTest()) { - $validators[] = new DNS($targetCNAME->get(), Record::TYPE_CNAME); - } - if ((new IP(IP::V4))->isValid(System::getEnv('_APP_DOMAIN_TARGET_A', ''))) { - $validators[] = new DNS(System::getEnv('_APP_DOMAIN_TARGET_A', ''), Record::TYPE_A); - } - if ((new IP(IP::V6))->isValid(System::getEnv('_APP_DOMAIN_TARGET_AAAA', ''))) { - $validators[] = new DNS(System::getEnv('_APP_DOMAIN_TARGET_AAAA', ''), Record::TYPE_AAAA); - } - - if (empty($validators)) { - throw new Exception(Exception::GENERAL_SERVER_ERROR, 'At least one of domain targets environment variable must be configured.'); - } - - $validator = new AnyOf($validators, AnyOf::TYPE_STRING); - if ($validator->isValid($domain->get())) { - $status = 'verifying'; - } - } + $ruleId = System::getEnv('_APP_RULES_FORMAT') === 'md5' ? md5($domain) : ID::unique(); $owner = ''; if ( - ($functionsDomain != '' && \str_ends_with($domain->get(), $functionsDomain)) || - ($sitesDomain != '' && \str_ends_with($domain->get(), $sitesDomain)) + ($functionsDomain != '' && \str_ends_with($domain, $functionsDomain)) || + ($sitesDomain != '' && \str_ends_with($domain, $sitesDomain)) ) { $owner = 'Appwrite'; } + $status = RULE_STATUS_CREATED; + if (\str_ends_with($domain, $functionsDomain) || \str_ends_with($domain, $sitesDomain)) { + $status = RULE_STATUS_VERIFIED; + } + $rule = new Document([ '$id' => $ruleId, 'projectId' => $project->getId(), 'projectInternalId' => $project->getSequence(), - 'domain' => $domain->get(), + 'domain' => $domain, 'status' => $status, 'type' => 'deployment', 'trigger' => 'manual', @@ -187,7 +120,7 @@ class Create extends Action 'deploymentResourceInternalId' => $site->getSequence(), 'deploymentVcsProviderBranch' => $branch, 'certificateId' => '', - 'search' => implode(' ', [$ruleId, $domain->get(), $branch]), + 'search' => implode(' ', [$ruleId, $domain, $branch]), 'owner' => $owner, 'region' => $project->getAttribute('region') ]); @@ -198,7 +131,16 @@ class Create extends Action throw new Exception(Exception::RULE_ALREADY_EXISTS); } - if ($rule->getAttribute('status', '') === 'verifying') { + if ($rule->getAttribute('status', '') === RULE_STATUS_CREATED) { + try { + $this->verifyRule($rule, $log); + $rule->setAttribute('status', RULE_STATUS_CERTIFICATE_GENERATING); + } catch (Exception $err) { + $rule->setAttribute('logs', $err->getMessage()); + } + } + + if ($rule->getAttribute('status', '') === RULE_STATUS_CERTIFICATE_GENERATING) { $queueForCertificates ->setDomain(new Document([ 'domain' => $rule->getAttribute('domain'), diff --git a/src/Appwrite/Platform/Modules/Proxy/Http/Rules/Verification/Update.php b/src/Appwrite/Platform/Modules/Proxy/Http/Rules/Verification/Update.php index af61f25f05..844f117cd5 100644 --- a/src/Appwrite/Platform/Modules/Proxy/Http/Rules/Verification/Update.php +++ b/src/Appwrite/Platform/Modules/Proxy/Http/Rules/Verification/Update.php @@ -5,22 +5,17 @@ namespace Appwrite\Platform\Modules\Proxy\Http\Rules\Verification; use Appwrite\Event\Certificate; use Appwrite\Event\Event; use Appwrite\Extend\Exception; -use Appwrite\Network\Validator\DNS; +use Appwrite\Platform\Modules\Proxy\Http\Rules\Action; use Appwrite\SDK\AuthType; use Appwrite\SDK\Method; use Appwrite\SDK\Response as SDKResponse; use Appwrite\Utopia\Response; use Utopia\Database\Database; +use Utopia\Database\DateTime; use Utopia\Database\Document; use Utopia\Database\Validator\UID; -use Utopia\DNS\Message\Record; -use Utopia\Domains\Domain; use Utopia\Logger\Log; -use Utopia\Platform\Action; use Utopia\Platform\Scope\HTTP; -use Utopia\System\System; -use Utopia\Validator\AnyOf; -use Utopia\Validator\IP; class Update extends Action { @@ -31,8 +26,10 @@ class Update extends Action return 'updateRuleVerification'; } - public function __construct() + public function __construct(...$params) { + parent::__construct(...$params); + $this ->setHttpMethod(Action::HTTP_REQUEST_METHOD_PATCH) ->setHttpPath('/v1/proxy/rules/:ruleId/verification') @@ -63,6 +60,7 @@ class Update extends Action ->inject('queueForEvents') ->inject('project') ->inject('dbForPlatform') + ->inject('platform') ->inject('log') ->callback($this->action(...)); } @@ -74,6 +72,7 @@ class Update extends Action Event $queueForEvents, Document $project, Database $dbForPlatform, + array $platform, Log $log ) { $rule = $dbForPlatform->getDocument('rules', $ruleId); @@ -82,83 +81,36 @@ class Update extends Action throw new Exception(Exception::RULE_NOT_FOUND); } - $targetCNAME = null; - switch ($rule->getAttribute('type', '')) { - case 'api': - // For example: fra.cloud.appwrite.io - $targetCNAME = new Domain(System::getEnv('_APP_DOMAIN_TARGET_CNAME', '')); - break; - case 'redirect': - // For example: appwrite.network - $targetCNAME = new Domain(System::getEnv('_APP_DOMAIN_SITES', '')); - break; - case 'deployment': - switch ($rule->getAttribute('deploymentResourceType', '')) { - case 'function': - // For example: fra.appwrite.run - $targetCNAME = new Domain(System::getEnv('_APP_DOMAIN_FUNCTIONS', '')); - break; - case 'site': - // For example: appwrite.network - $targetCNAME = new Domain(System::getEnv('_APP_DOMAIN_SITES', '')); - break; - default: - break; - } - // no break - default: - break; - } + $queueForEvents->setParam('ruleId', $rule->getId()); - $validators = []; - - if (!is_null($targetCNAME)) { - if ($targetCNAME->isKnown() && !$targetCNAME->isTest()) { - $validators[] = new DNS($targetCNAME->get(), Record::TYPE_CNAME); - } - } - - if ((new IP(IP::V4))->isValid(System::getEnv('_APP_DOMAIN_TARGET_A', ''))) { - $validators[] = new DNS(System::getEnv('_APP_DOMAIN_TARGET_A', ''), Record::TYPE_A); - } - if ((new IP(IP::V6))->isValid(System::getEnv('_APP_DOMAIN_TARGET_AAAA', ''))) { - $validators[] = new DNS(System::getEnv('_APP_DOMAIN_TARGET_AAAA', ''), Record::TYPE_AAAA); - } - - if (empty($validators)) { - throw new Exception(Exception::GENERAL_SERVER_ERROR, 'At least one of domain targets environment variable must be configured.'); - } - - if ($rule->getAttribute('verification') === true) { + // If rule is already verified or in certificate generation state, don't queue for verification again + if ($rule->getAttribute('status') === RULE_STATUS_VERIFIED || $rule->getAttribute('status') === RULE_STATUS_CERTIFICATE_GENERATING) { return $response->dynamic($rule, Response::MODEL_PROXY_RULE); } - $validator = new AnyOf($validators, AnyOf::TYPE_STRING); - $domain = new Domain($rule->getAttribute('domain', '')); + try { + $this->verifyRule($rule, $log); + // Reset logs and status for the rule + $rule = $dbForPlatform->updateDocument('rules', $rule->getId(), new Document([ + 'logs' => '', + 'status' => RULE_STATUS_CERTIFICATE_GENERATING, + ])); - $validationStart = \microtime(true); - if (!$validator->isValid($domain->get())) { - $log->addExtra('dnsTiming', \strval(\microtime(true) - $validationStart)); - $log->addTag('dnsDomain', $domain->get()); - throw new Exception(Exception::RULE_VERIFICATION_FAILED); - } - - // Ensure CAA won't block certificate issuance - if (!empty(System::getEnv('_APP_DOMAIN_TARGET_CAA', ''))) { - $validationStart = \microtime(true); - $validator = new DNS(System::getEnv('_APP_DOMAIN_TARGET_CAA', ''), Record::TYPE_CAA); - if (!$validator->isValid($domain->get())) { - $log->addExtra('dnsTimingCaa', \strval(\microtime(true) - $validationStart)); - $log->addTag('dnsDomain', $domain->get()); - $error = $validator->getDescription(); - $log->addExtra('dnsResponse', \is_array($error) ? \json_encode($error) : \strval($error)); - throw new Exception(Exception::RULE_VERIFICATION_FAILED, 'Domain verification failed because CAA records do not allow Appwrite\'s certificate issuer.'); + $certificateId = $rule->getAttribute('certificateId', ''); + // Reset logs for the associated certificate. + if (!empty($certificateId)) { + $certificate = $dbForPlatform->updateDocument('certificates', $certificateId, new Document([ + 'logs' => '', + ])); } + } catch (Exception $err) { + $dbForPlatform->updateDocument('rules', $rule->getId(), new Document([ + '$updatedAt' => DateTime::now(), + ])); + throw $err; } - $dbForPlatform->updateDocument('rules', $rule->getId(), $rule->setAttribute('status', 'verifying')); - - // Issue a TLS certificate when domain is verified + // Issue a TLS certificate when DNS verification is successful $queueForCertificates ->setDomain(new Document([ 'domain' => $rule->getAttribute('domain'), @@ -166,10 +118,9 @@ class Update extends Action ])) ->trigger(); - $queueForEvents->setParam('ruleId', $rule->getId()); - - $certificate = $dbForPlatform->getDocument('certificates', $rule->getAttribute('certificateId', '')); - $rule->setAttribute('logs', $certificate->getAttribute('logs', '')); + if (!empty($certificate)) { + $rule->setAttribute('renewAt', $certificate->getAttribute('renewDate', '')); + } $response->dynamic($rule, Response::MODEL_PROXY_RULE); } diff --git a/src/Appwrite/Platform/Modules/Proxy/Http/Rules/XList.php b/src/Appwrite/Platform/Modules/Proxy/Http/Rules/XList.php index 86f63bc258..198bf55a6f 100644 --- a/src/Appwrite/Platform/Modules/Proxy/Http/Rules/XList.php +++ b/src/Appwrite/Platform/Modules/Proxy/Http/Rules/XList.php @@ -13,7 +13,6 @@ use Utopia\Database\Document; use Utopia\Database\Exception\Query as QueryException; use Utopia\Database\Query; use Utopia\Database\Validator\Query\Cursor; -use Utopia\Platform\Action; use Utopia\Platform\Scope\HTTP; use Utopia\Validator\Boolean; use Utopia\Validator\Text; @@ -27,8 +26,10 @@ class XList extends Action return 'listRules'; } - public function __construct() + public function __construct(...$params) { + parent::__construct(...$params); + $this ->setHttpMethod(Action::HTTP_REQUEST_METHOD_GET) ->setHttpPath('/v1/proxy/rules') @@ -109,7 +110,12 @@ class XList extends Action $rules = $dbForPlatform->find('rules', $queries); foreach ($rules as $rule) { $certificate = $dbForPlatform->getDocument('certificates', $rule->getAttribute('certificateId', '')); - $rule->setAttribute('logs', $certificate->getAttribute('logs', '')); + + // Give priority to certificate generation logs if present + if (!empty($certificate->getAttribute('logs', ''))) { + $rule->setAttribute('logs', $certificate->getAttribute('logs', '')); + } + $rule->setAttribute('renewAt', $certificate->getAttribute('renewDate', '')); } diff --git a/src/Appwrite/Utopia/Response/Model/Rule.php b/src/Appwrite/Utopia/Response/Model/Rule.php index d4b8ffd9e7..86ac6f470e 100644 --- a/src/Appwrite/Utopia/Response/Model/Rule.php +++ b/src/Appwrite/Utopia/Response/Model/Rule.php @@ -92,9 +92,9 @@ class Rule extends Model ]) ->addRule('logs', [ 'type' => self::TYPE_STRING, - 'description' => 'Certificate generation logs. This will return an empty string if generation did not run, or succeeded.', + 'description' => 'Logs from rule verification or certificate generation. Certificate generation logs are prioritized if both are available.', 'default' => '', - 'example' => 'HTTP challegne failed.', + 'example' => 'Verification of DNS records failed with DNS resolver 8.8.8.8. Domain stage.myapp.com does not have DNS record.', ]) ->addRule('renewAt', [ 'type' => self::TYPE_DATETIME, From 109967953ebad05cf1562a4f6c4b818abd04ce50 Mon Sep 17 00:00:00 2001 From: Hemachandar Date: Tue, 16 Dec 2025 12:20:59 +0530 Subject: [PATCH 090/220] feedback + tests --- docker-compose.yml | 21 ++ .../Modules/Proxy/Http/Rules/API/Create.php | 23 +- .../Proxy/Http/Rules/Function/Create.php | 14 +- .../Proxy/Http/Rules/Redirect/Create.php | 21 +- .../Modules/Proxy/Http/Rules/Site/Create.php | 21 +- .../Proxy/Http/Rules/Verification/Update.php | 2 - .../Services/Proxy/ProxyCustomServerTest.php | 205 +++++++++++++++++- tests/resources/coredns/Corefile | 73 +++++++ tests/unit/Network/Validators/DNSTest.php | 107 +++------ 9 files changed, 361 insertions(+), 126 deletions(-) create mode 100644 tests/resources/coredns/Corefile diff --git a/docker-compose.yml b/docker-compose.yml index 80fb99c0fd..d4d38d4924 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -63,6 +63,8 @@ services: - 9501:80 networks: - appwrite + dns: + - 172.16.238.100 labels: - "traefik.enable=true" - "traefik.constraint-label-stack=appwrite" @@ -99,6 +101,7 @@ services: depends_on: - mariadb - redis + - coredns # - clamav entrypoint: - php @@ -1079,6 +1082,21 @@ services: volumes: - appwrite-redis:/data:rw + coredns: # DNS server for testing purposes (Proxy APIs) + image: coredns/coredns:1.12.4 + container_name: appwrite-coredns + restart: unless-stopped + <<: *x-logging + command: ["-conf", "/mnt/resources/Corefile"] + # If you need to debug CoreDNS, do it from "appwrite container", or port forward: + # ports: + # - "53:53" + networks: + appwrite: + ipv4_address: 172.16.238.100 + volumes: + - ./tests/resources/coredns:/mnt/resources:ro + # Dev Tools Start ------------------------------------------------------------------------------------------ # # The Appwrite Team uses the following tools to help debug, monitor and diagnose the Appwrite stack @@ -1209,6 +1227,9 @@ networks: name: gateway appwrite: name: appwrite + ipam: + config: + - subnet: 172.16.238.0/24 runtimes: name: runtimes diff --git a/src/Appwrite/Platform/Modules/Proxy/Http/Rules/API/Create.php b/src/Appwrite/Platform/Modules/Proxy/Http/Rules/API/Create.php index fc4537301e..e5bb447ee0 100644 --- a/src/Appwrite/Platform/Modules/Proxy/Http/Rules/API/Create.php +++ b/src/Appwrite/Platform/Modules/Proxy/Http/Rules/API/Create.php @@ -79,18 +79,15 @@ class Create extends Action // TODO: (@Meldiron) Remove after 1.7.x migration $ruleId = System::getEnv('_APP_RULES_FORMAT') === 'md5' ? md5($domain) : ID::unique(); - + $status = RULE_STATUS_CREATED; $owner = ''; + if ( ($functionsDomain != '' && \str_ends_with($domain, $functionsDomain)) || ($sitesDomain != '' && \str_ends_with($domain, $sitesDomain)) ) { - $owner = 'Appwrite'; - } - - $status = RULE_STATUS_CREATED; - if (\str_ends_with($domain, $functionsDomain) || \str_ends_with($domain, $sitesDomain)) { $status = RULE_STATUS_VERIFIED; + $owner = 'Appwrite'; } $rule = new Document([ @@ -107,12 +104,6 @@ class Create extends Action 'region' => $project->getAttribute('region') ]); - try { - $rule = $dbForPlatform->createDocument('rules', $rule); - } catch (Duplicate $e) { - throw new Exception(Exception::RULE_ALREADY_EXISTS); - } - if ($rule->getAttribute('status', '') === RULE_STATUS_CREATED) { try { $this->verifyRule($rule, $log); @@ -122,6 +113,14 @@ class Create extends Action } } + \var_dump($rule); + + try { + $rule = $dbForPlatform->createDocument('rules', $rule); + } catch (Duplicate $e) { + throw new Exception(Exception::RULE_ALREADY_EXISTS); + } + if ($rule->getAttribute('status', '') === RULE_STATUS_CERTIFICATE_GENERATING) { $queueForCertificates ->setDomain(new Document([ diff --git a/src/Appwrite/Platform/Modules/Proxy/Http/Rules/Function/Create.php b/src/Appwrite/Platform/Modules/Proxy/Http/Rules/Function/Create.php index c88e3e5085..d7e427efe1 100644 --- a/src/Appwrite/Platform/Modules/Proxy/Http/Rules/Function/Create.php +++ b/src/Appwrite/Platform/Modules/Proxy/Http/Rules/Function/Create.php @@ -101,7 +101,7 @@ class Create extends Action } $status = RULE_STATUS_CREATED; - if (\str_ends_with($domain, $functionsDomain) || \str_ends_with($domain, $sitesDomain)) { + if (($functionsDomain != '' && \str_ends_with($domain, $functionsDomain)) || ($sitesDomain != '' && \str_ends_with($domain, $sitesDomain))) { $status = RULE_STATUS_VERIFIED; } @@ -125,12 +125,6 @@ class Create extends Action 'region' => $project->getAttribute('region') ]); - try { - $rule = $dbForPlatform->createDocument('rules', $rule); - } catch (Duplicate $e) { - throw new Exception(Exception::RULE_ALREADY_EXISTS); - } - if ($rule->getAttribute('status', '') === RULE_STATUS_CREATED) { try { $this->verifyRule($rule, $log); @@ -140,6 +134,12 @@ class Create extends Action } } + try { + $rule = $dbForPlatform->createDocument('rules', $rule); + } catch (Duplicate $e) { + throw new Exception(Exception::RULE_ALREADY_EXISTS); + } + if ($rule->getAttribute('status', '') === RULE_STATUS_CERTIFICATE_GENERATING) { $queueForCertificates ->setDomain(new Document([ diff --git a/src/Appwrite/Platform/Modules/Proxy/Http/Rules/Redirect/Create.php b/src/Appwrite/Platform/Modules/Proxy/Http/Rules/Redirect/Create.php index 1f785f858c..7ddd501d51 100644 --- a/src/Appwrite/Platform/Modules/Proxy/Http/Rules/Redirect/Create.php +++ b/src/Appwrite/Platform/Modules/Proxy/Http/Rules/Redirect/Create.php @@ -96,18 +96,15 @@ class Create extends Action // TODO: (@Meldiron) Remove after 1.7.x migration $ruleId = System::getEnv('_APP_RULES_FORMAT') === 'md5' ? md5($domain) : ID::unique(); - + $status = RULE_STATUS_CREATED; $owner = ''; + if ( ($functionsDomain != '' && \str_ends_with($domain, $functionsDomain)) || ($sitesDomain != '' && \str_ends_with($domain, $sitesDomain)) ) { - $owner = 'Appwrite'; - } - - $status = RULE_STATUS_CREATED; - if (\str_ends_with($domain, $functionsDomain) || \str_ends_with($domain, $sitesDomain)) { $status = RULE_STATUS_VERIFIED; + $owner = 'Appwrite'; } $rule = new Document([ @@ -129,12 +126,6 @@ class Create extends Action 'region' => $project->getAttribute('region') ]); - try { - $rule = $dbForPlatform->createDocument('rules', $rule); - } catch (Duplicate $e) { - throw new Exception(Exception::RULE_ALREADY_EXISTS); - } - if ($rule->getAttribute('status', '') === RULE_STATUS_CREATED) { try { $this->verifyRule($rule, $log); @@ -144,6 +135,12 @@ class Create extends Action } } + try { + $rule = $dbForPlatform->createDocument('rules', $rule); + } catch (Duplicate $e) { + throw new Exception(Exception::RULE_ALREADY_EXISTS); + } + if ($rule->getAttribute('status', '') === RULE_STATUS_CERTIFICATE_GENERATING) { $queueForCertificates ->setDomain(new Document([ diff --git a/src/Appwrite/Platform/Modules/Proxy/Http/Rules/Site/Create.php b/src/Appwrite/Platform/Modules/Proxy/Http/Rules/Site/Create.php index 793383e3ba..7aff9e7e8a 100644 --- a/src/Appwrite/Platform/Modules/Proxy/Http/Rules/Site/Create.php +++ b/src/Appwrite/Platform/Modules/Proxy/Http/Rules/Site/Create.php @@ -91,18 +91,15 @@ class Create extends Action // TODO: (@Meldiron) Remove after 1.7.x migration $ruleId = System::getEnv('_APP_RULES_FORMAT') === 'md5' ? md5($domain) : ID::unique(); - + $status = RULE_STATUS_CREATED; $owner = ''; + if ( ($functionsDomain != '' && \str_ends_with($domain, $functionsDomain)) || ($sitesDomain != '' && \str_ends_with($domain, $sitesDomain)) ) { - $owner = 'Appwrite'; - } - - $status = RULE_STATUS_CREATED; - if (\str_ends_with($domain, $functionsDomain) || \str_ends_with($domain, $sitesDomain)) { $status = RULE_STATUS_VERIFIED; + $owner = 'Appwrite'; } $rule = new Document([ @@ -125,12 +122,6 @@ class Create extends Action 'region' => $project->getAttribute('region') ]); - try { - $rule = $dbForPlatform->createDocument('rules', $rule); - } catch (Duplicate $e) { - throw new Exception(Exception::RULE_ALREADY_EXISTS); - } - if ($rule->getAttribute('status', '') === RULE_STATUS_CREATED) { try { $this->verifyRule($rule, $log); @@ -140,6 +131,12 @@ class Create extends Action } } + try { + $rule = $dbForPlatform->createDocument('rules', $rule); + } catch (Duplicate $e) { + throw new Exception(Exception::RULE_ALREADY_EXISTS); + } + if ($rule->getAttribute('status', '') === RULE_STATUS_CERTIFICATE_GENERATING) { $queueForCertificates ->setDomain(new Document([ diff --git a/src/Appwrite/Platform/Modules/Proxy/Http/Rules/Verification/Update.php b/src/Appwrite/Platform/Modules/Proxy/Http/Rules/Verification/Update.php index 844f117cd5..e09c4a6eba 100644 --- a/src/Appwrite/Platform/Modules/Proxy/Http/Rules/Verification/Update.php +++ b/src/Appwrite/Platform/Modules/Proxy/Http/Rules/Verification/Update.php @@ -60,7 +60,6 @@ class Update extends Action ->inject('queueForEvents') ->inject('project') ->inject('dbForPlatform') - ->inject('platform') ->inject('log') ->callback($this->action(...)); } @@ -72,7 +71,6 @@ class Update extends Action Event $queueForEvents, Document $project, Database $dbForPlatform, - array $platform, Log $log ) { $rule = $dbForPlatform->getDocument('rules', $ruleId); diff --git a/tests/e2e/Services/Proxy/ProxyCustomServerTest.php b/tests/e2e/Services/Proxy/ProxyCustomServerTest.php index 3fbbb7d5e9..ead6be8084 100644 --- a/tests/e2e/Services/Proxy/ProxyCustomServerTest.php +++ b/tests/e2e/Services/Proxy/ProxyCustomServerTest.php @@ -15,6 +15,36 @@ class ProxyCustomServerTest extends Scope use ProjectCustom; use SideServer; + protected function tearDown(): void + { + // Cleanup for testRuleVerification test + // Required as it uses static domain name + $rules = $this->listRules([ + 'queries' => [ + Query::endsWith('domain', 'webapp.com')->toString(), + Query::limit(1000)->toString(), + ] + ]); + $this->assertEquals(200, $rules['headers']['status-code']); + foreach ($rules['body']['rules'] as $rule) { + $ruleId = $rule['$id']; + $response = $this->deleteRule($ruleId); + $this->assertEquals(204, $response['headers']['status-code']); + } + + if ($rules['body']['total'] > 0) { + $rules = $this->listRules([ + 'queries' => [ + Query::endsWith('domain', 'webapp.com')->toString(), + Query::limit(1) + ] + ]); + $this->assertEquals(200, $rules['headers']['status-code']); + $this->assertEquals(0, count($rules['body']['rules'])); + $this->assertEquals(0, $rules['body']['total']); + } + } + public function testCreateRule(): void { $domain = \uniqid() . '-api.myapp.com'; @@ -56,7 +86,7 @@ class ProxyCustomServerTest extends Scope $domain = \uniqid() . '.com'; $rule = $this->createAPIRule($domain); $this->assertEquals(201, $rule['headers']['status-code']); - $this->assertEquals('created', $rule['body']['status']); + $this->assertEquals(RULE_STATUS_CREATED, $rule['body']['status']); } public function testCreateRuleVcs(): void @@ -358,7 +388,7 @@ class ProxyCustomServerTest extends Scope $rule = $this->createAPIRule($domain); $this->assertEquals(201, $rule['headers']['status-code']); - $this->assertEquals('verified', $rule['body']['status']); + $this->assertEquals(RULE_STATUS_VERIFIED, $rule['body']['status']); $this->cleanupRule($rule['body']['$id']); @@ -367,7 +397,7 @@ class ProxyCustomServerTest extends Scope $rule = $this->createAPIRule($domain); $this->assertEquals(201, $rule['headers']['status-code']); - $this->assertEquals('verified', $rule['body']['status']); + $this->assertEquals(RULE_STATUS_VERIFIED, $rule['body']['status']); $this->cleanupRule($rule['body']['$id']); @@ -376,7 +406,7 @@ class ProxyCustomServerTest extends Scope $rule = $this->createAPIRule($domain); $this->assertEquals(201, $rule['headers']['status-code']); - $this->assertEquals('created', $rule['body']['status']); + $this->assertEquals(RULE_STATUS_CREATED, $rule['body']['status']); $ruleId = $rule['body']['$id']; @@ -539,4 +569,171 @@ class ProxyCustomServerTest extends Scope $this->assertEquals(0, $rules['body']['total']); $this->assertCount(0, $rules['body']['rules']); } + + public function testRuleVerification(): void + { + + // 1. Site rule can verify + $site = $this->setupSite(); + $siteId = $site['siteId']; + + $rule = $this->createSiteRule('stage-site.webapp.com', $siteId); + $this->assertEquals(201, $rule['headers']['status-code']); + $this->assertEquals(RULE_STATUS_CERTIFICATE_GENERATING, $rule['body']['status']); + $this->assertEmpty($rule['body']['logs']); + $this->assertNotEmpty($rule['body']['$id']); + $ruleId = $rule['body']['$id']; + + $rule = $this->updateRuleVerification($ruleId); + $this->assertEquals(200, $rule['headers']['status-code']); + $this->assertEquals($ruleId, $rule['body']['$id']); + $this->assertEquals(RULE_STATUS_CERTIFICATE_GENERATING, $rule['body']['status']); + $this->assertEmpty($rule['body']['logs']); + + $this->cleanupRule($rule['body']['$id']); + $this->cleanupSite($siteId); + + // 2. Function rule can verify + $function = $this->setupFunction(); + $functionId = $function['functionId']; + + $rule = $this->createFunctionRule('stage-function.webapp.com', $functionId); + $this->assertEquals(201, $rule['headers']['status-code']); + $this->assertEquals(RULE_STATUS_CERTIFICATE_GENERATING, $rule['body']['status']); + $this->assertEmpty($rule['body']['logs']); + $this->cleanupRule($rule['body']['$id']); + + $rule = $this->createAPIRule('stage-site.webapp.com'); + $this->assertEquals(201, $rule['headers']['status-code']); + $this->assertEquals(RULE_STATUS_CREATED, $rule['body']['status']); + $this->assertStringContainsString('has incorrect CNAME value', $rule['body']['logs']); + $this->cleanupRule($rule['body']['$id']); + + $this->cleanupFunction($functionId); + + // 3. Wrong A record fails to verify + $rule = $this->createAPIRule('wrong-a-webapp.com'); + $this->assertEquals(201, $rule['headers']['status-code']); + $this->assertEquals(RULE_STATUS_CREATED, $rule['body']['status']); + $this->assertStringContainsString('is missing CNAME record', $rule['body']['logs']); + + $ruleId = $rule['body']['$id']; + $rule = $this->updateRuleVerification($ruleId); + $this->assertEquals(400, $rule['headers']['status-code']); + $this->assertStringContainsString('is missing CNAME record', $rule['body']['message']); + + $rule = $this->getRule($ruleId); + $this->assertEquals(200, $rule['headers']['status-code']); + $this->assertEquals(RULE_STATUS_CREATED, $rule['body']['status']); + + $this->cleanupRule($ruleId); + + // 4. Correct A record can verify + $rule = $this->createAPIRule('webapp.com'); + $this->assertEquals(201, $rule['headers']['status-code']); + $this->assertEquals(RULE_STATUS_CERTIFICATE_GENERATING, $rule['body']['status']); + $this->assertEmpty($rule['body']['logs']); + + $this->cleanupRule($rule['body']['$id']); + + // 5. Correct CNAME record can verify (no CAA record) + $rule = $this->createAPIRule('stage.webapp.com'); + $this->assertEquals(201, $rule['headers']['status-code']); + $this->assertEquals(RULE_STATUS_CERTIFICATE_GENERATING, $rule['body']['status']); + $this->assertEmpty($rule['body']['logs']); + + $this->cleanupRule($rule['body']['$id']); + + // 6. Missing CNAME record fails to verify + $rule = $this->createAPIRule('stage-missing-cname.webapp.com'); + $this->assertEquals(201, $rule['headers']['status-code']); + $this->assertEquals(RULE_STATUS_CREATED, $rule['body']['status']); + $this->assertStringContainsString('is missing CNAME record', $rule['body']['logs']); + + $ruleId = $rule['body']['$id']; + $rule = $this->updateRuleVerification($ruleId); + $this->assertEquals(400, $rule['headers']['status-code']); + $this->assertStringContainsString('is missing CNAME record', $rule['body']['message']); + + $rule = $this->getRule($ruleId); + $this->assertEquals(200, $rule['headers']['status-code']); + $this->assertEquals(RULE_STATUS_CREATED, $rule['body']['status']); + + $this->cleanupRule($ruleId); + + // 7. Wrong CNAME record fails to verify + $rule = $this->createAPIRule('stage-wrong-cname.webapp.com'); + $this->assertEquals(201, $rule['headers']['status-code']); + $this->assertEquals(RULE_STATUS_CREATED, $rule['body']['status']); + $this->assertStringContainsString('has incorrect CNAME value', $rule['body']['logs']); + + $ruleId = $rule['body']['$id']; + $rule = $this->updateRuleVerification($ruleId); + $this->assertEquals(400, $rule['headers']['status-code']); + $this->assertStringContainsString('has incorrect CNAME value', $rule['body']['message']); + + $rule = $this->getRule($ruleId); + $this->assertEquals(200, $rule['headers']['status-code']); + $this->assertEquals(RULE_STATUS_CREATED, $rule['body']['status']); + + $this->cleanupRule($ruleId); + + // 8. Wrong CAA record fails to verify + $rule = $this->createAPIRule('stage-wrong-caa.webapp.com'); + $this->assertEquals(201, $rule['headers']['status-code']); + $this->assertEquals(RULE_STATUS_CREATED, $rule['body']['status']); + $this->assertStringContainsString('has incorrect CAA value', $rule['body']['logs']); + + $ruleId = $rule['body']['$id']; + $rule = $this->updateRuleVerification($ruleId); + $this->assertEquals(400, $rule['headers']['status-code']); + $this->assertStringContainsString('has incorrect CAA value', $rule['body']['message']); + + $rule = $this->getRule($ruleId); + $this->assertEquals(200, $rule['headers']['status-code']); + $this->assertEquals(RULE_STATUS_CREATED, $rule['body']['status']); + + $this->cleanupRule($ruleId); + + // 9. Correct CAA record can verify + $rule = $this->createAPIRule('stage-correct-caa.webapp.com'); + $this->assertEquals(201, $rule['headers']['status-code']); + $this->assertEquals(RULE_STATUS_CERTIFICATE_GENERATING, $rule['body']['status']); + $this->assertEmpty($rule['body']['logs']); + + $this->cleanupRule($rule['body']['$id']); + } + + public function testUpdateRuleVerificationWithSameDataUpdatesTimestamp(): void + { + $domain = \uniqid() . '-timestamp-test.webapp.com'; + $rule = $this->createAPIRule($domain); + + $this->assertEquals(201, $rule['headers']['status-code']); + $this->assertEquals(RULE_STATUS_CREATED, $rule['body']['status']); + $this->assertNotEmpty($rule['body']['logs']); + + $ruleId = $rule['body']['$id']; + $initialUpdatedAt = $rule['body']['$updatedAt']; + $initiallogs = $rule['body']['logs']; + + sleep(1); + + $updatedRule = $this->updateRuleVerification($ruleId); + + $this->assertEquals(400, $updatedRule['headers']['status-code']); + $this->assertStringContainsString($initiallogs, $updatedRule['body']['message']); + + $ruleAfterUpdate = $this->getRule($ruleId); + $this->assertEquals(200, $ruleAfterUpdate['headers']['status-code']); + $this->assertEquals(RULE_STATUS_CREATED, $ruleAfterUpdate['body']['status']); + $this->assertEquals($initiallogs, $ruleAfterUpdate['body']['logs']); + $this->assertNotEquals($initialUpdatedAt, $ruleAfterUpdate['body']['$updatedAt']); + + $initialTime = new \DateTime($initialUpdatedAt); + $updatedTime = new \DateTime($ruleAfterUpdate['body']['$updatedAt']); + $this->assertGreaterThan($initialTime, $updatedTime); + + $this->cleanupRule($ruleId); + } } diff --git a/tests/resources/coredns/Corefile b/tests/resources/coredns/Corefile new file mode 100644 index 0000000000..b156ba336d --- /dev/null +++ b/tests/resources/coredns/Corefile @@ -0,0 +1,73 @@ +# Re-use public resolver to answer unknown queries +. { + forward . 1.1.1.1 +} + +# Zones configuration +webapp.com { + template IN A { + match "^webapp\.com\.$" + answer "{{ .Name }} 60 IN A 203.0.0.1" + fallthrough + } + + template IN CNAME { + match "^stage-site\.webapp\.com\.$" + answer "{{ .Name }} 60 IN CNAME sites.localhost." + fallthrough + } + + template IN CNAME { + match "^stage-function\.webapp\.com\.$" + answer "{{ .Name }} 60 IN CNAME functions.localhost." + fallthrough + } + + template IN CNAME { + match "^stage\.webapp\.com\.$" + answer "{{ .Name }} 60 IN CNAME cname.localhost." + fallthrough + } + + template IN CNAME { + match "^stage-wrong-cname\.webapp\.com\.$" + answer "{{ .Name }} 60 IN CNAME cname-wrong.tests.appwrite.io." + fallthrough + } + + template IN A { + match "^stage-wrong-caa\.webapp\.com\.$" + answer "{{ .Name }} 60 IN A 203.0.0.1" + fallthrough + } + + template IN CAA { + match "^stage-wrong-caa\.webapp\.com\.$" + answer "{{ .Name }} 60 IN CAA 0 issue \"unknown-issuer.org\"" + fallthrough + } + + + template IN A { + match "^stage-correct-caa\.webapp\.com\.$" + answer "{{ .Name }} 60 IN A 203.0.0.1" + fallthrough + } + + template IN CAA { + match "^stage-correct-caa\.webapp\.com\.$" + answer "{{ .Name }} 60 IN CAA 0 issue \"digicert.com\"" + fallthrough + } + + forward . 1.1.1.1 +} + +# Zones configuration +wrong-a-webapp.com { + template IN A { + match "^wrong-a-webapp\.com\.$" + answer "{{ .Name }} 60 IN A 203.0.0.5" + fallthrough + } +} \ No newline at end of file diff --git a/tests/unit/Network/Validators/DNSTest.php b/tests/unit/Network/Validators/DNSTest.php index 4611e00f4d..4a07098a31 100644 --- a/tests/unit/Network/Validators/DNSTest.php +++ b/tests/unit/Network/Validators/DNSTest.php @@ -3,98 +3,51 @@ namespace Tests\Unit\Network\Validators; use Appwrite\Network\Validator\DNS; -use Appwrite\Tests\Retry; use PHPUnit\Framework\TestCase; use Utopia\DNS\Message\Record; -/** - * DNS Setup (on Appwrite Labs digital ocean team, network tab): - * - * certainly.caa.appwrite.org: CAA 0 issue "certainly.com" - * certainly-full.caa.appwrite.org: CAA 128 issuewild "certainly.com;account=123456;validationmethods=dns-01" - * letsencrypt.certainly.caa.appwrite.org: CAA 0 issue "letsencrypt.org" - */ class DNSTest extends TestCase { - public function testCNAME(): void + public function testSingleDNSServer(): void { - $validator = new DNS('appwrite.io', Record::TYPE_CNAME); - $this->assertEquals($validator->isValid(''), false); - $this->assertEquals($validator->isValid(null), false); - $this->assertEquals($validator->isValid(false), false); - $this->assertEquals($validator->isValid('cname-unit-test.appwrite.org'), true); - $this->assertEquals($validator->isValid('test1.appwrite.org'), false); + $validator = new DNS('appwrite.io', Record::TYPE_CNAME, ['8.8.8.8']); + + $this->assertEquals(false, $validator->isValid('')); + $this->assertEquals(false, $validator->isValid(null)); + $this->assertEquals('string', $validator->getType()); } - public function testA(): void + public function testMultipleDNSServers(): void { - // IPv4 for documentation purposes - $validator = new DNS('203.0.113.1', Record::TYPE_A); - $this->assertEquals($validator->isValid(''), false); - $this->assertEquals($validator->isValid(null), false); - $this->assertEquals($validator->isValid(false), false); - $this->assertEquals($validator->isValid('a-unit-test.appwrite.org'), true); - $this->assertEquals($validator->isValid('test1.appwrite.org'), false); + $validator = new DNS('appwrite.io', Record::TYPE_CNAME, ['8.8.8.8', '1.1.1.1']); + + $this->assertEquals(false, $validator->isValid('')); + $this->assertEquals(false, $validator->isValid(null)); + $this->assertEquals('string', $validator->getType()); } - public function testAAAA(): void + public function testValidationFailure(): void { - // IPv6 for documentation purposes - $validator = new DNS('2001:db8::1', Record::TYPE_AAAA); - $this->assertEquals($validator->isValid(''), false); - $this->assertEquals($validator->isValid(null), false); - $this->assertEquals($validator->isValid(false), false); - $this->assertEquals($validator->isValid('aaaa-unit-test.appwrite.org'), true); - $this->assertEquals($validator->isValid('test1.appwrite.org'), false); + $validator = new DNS('invalid-target.example.com', Record::TYPE_CNAME, ['8.8.8.8', '1.1.1.1']); + + $result = $validator->isValid('nonexistent-domain-' . \uniqid() . '.com'); + + $this->assertEquals(false, $result); + $this->assertIsInt($validator->count); + $this->assertIsString($validator->value); + $this->assertIsArray($validator->records); + $this->assertIsString($validator->getDescription()); } - #[Retry(count: 5)] - public function testCAA(): void + public function testCoreDNSFailure(): void { - $digitalOceanIp = '172.64.52.210'; // ping ns1.digitalocean.com + // CoreDNS is configured to return cname.localhost. for stage.webapp.com + $validator = new DNS('cname.localhost.', Record::TYPE_CNAME, ['172.16.238.100', '8.8.8.8']); - $certainly = new DNS('certainly.com', Record::TYPE_CAA, $digitalOceanIp); - $letsencrypt = new DNS('letsencrypt.org', Record::TYPE_CAA, $digitalOceanIp); + $result = $validator->isValid('stage.webapp.com'); + $this->assertEquals(false, $result); - // No CAA record succeeds on main domain & subdomains for any issuer - $this->assertEquals($certainly->isValid('caa.appwrite.org'), true); - $this->assertEquals($certainly->isValid('sub.caa.appwrite.org'), true); - $this->assertEquals($certainly->isValid('sub.sub.caa.appwrite.org'), true); - - $this->assertEquals($letsencrypt->isValid('caa.appwrite.org'), true); - $this->assertEquals($letsencrypt->isValid('sub.caa.appwrite.org'), true); - $this->assertEquals($letsencrypt->isValid('sub.sub.caa.appwrite.org'), true); - - // Custom flags and tag is allowed, but only for Certainly - $this->assertEquals($certainly->isValid('certainly-full.caa.appwrite.org'), true); - $this->assertEquals($letsencrypt->isValid('certainly-full.caa.appwrite.org'), false); - - // Custom flags&tag are not allowed if validator includes specific flags&tag - $certainlyFull = new DNS('0 issue "certainly.com"', Record::TYPE_CAA); - $this->assertEquals($certainlyFull->isValid('certainly-full.caa.appwrite.org'), false); - - // Custom flags&tag still allows if they match exactly - $certainlyFull = new DNS('128 issuewild "certainly.com;account=123456;validationmethods=dns-01"', Record::TYPE_CAA); - $this->assertEquals($certainlyFull->isValid('certainly-full.caa.appwrite.org'), true); - - // Certainly CAA allows Certainly, but not LetsEncrypt; Same for subdomains - $this->assertEquals($certainly->isValid('certainly.caa.appwrite.org'), true); - $this->assertEquals($letsencrypt->isValid('certainly.caa.appwrite.org'), false); - - $this->assertEquals($certainly->isValid('sub.certainly.caa.appwrite.org'), true); - $this->assertEquals($letsencrypt->isValid('sub.certainly.caa.appwrite.org'), false); - - $this->assertEquals($certainly->isValid('sub.sub.certainly.caa.appwrite.org'), true); - $this->assertEquals($letsencrypt->isValid('sub.sub.certainly.caa.appwrite.org'), false); - - // LetsEncrypt CAA on subdomain with parent allowing Certainly. Only LetsEncrypt is allowed; Same for subdomains - $this->assertEquals($certainly->isValid('letsencrypt.certainly.caa.appwrite.org'), false); - $this->assertEquals($letsencrypt->isValid('letsencrypt.certainly.caa.appwrite.org'), true); - - $this->assertEquals($certainly->isValid('sub.letsencrypt.certainly.caa.appwrite.org'), false); - $this->assertEquals($letsencrypt->isValid('sub.letsencrypt.certainly.caa.appwrite.org'), true); - - $this->assertEquals($certainly->isValid('sub.sub.letsencrypt.certainly.caa.appwrite.org'), false); - $this->assertEquals($letsencrypt->isValid('sub.sub.letsencrypt.certainly.caa.appwrite.org'), true); + $result = $validator->isValid('stage-wrong-cname.webapp.com'); + $this->assertEquals(false, $result); } -} +} \ No newline at end of file From 7cdb7af07ce34d293fc54eeda6011936da279076 Mon Sep 17 00:00:00 2001 From: Jake Barnby Date: Tue, 16 Dec 2025 20:06:38 +1300 Subject: [PATCH 091/220] Remove early return to ensure cycle timestamp is updated --- src/Appwrite/Platform/Tasks/ScheduleBase.php | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Appwrite/Platform/Tasks/ScheduleBase.php b/src/Appwrite/Platform/Tasks/ScheduleBase.php index 0ad8c5ac9a..3853f0d9b3 100644 --- a/src/Appwrite/Platform/Tasks/ScheduleBase.php +++ b/src/Appwrite/Platform/Tasks/ScheduleBase.php @@ -195,7 +195,6 @@ abstract class ScheduleBase extends Action } if (empty($this->schedules)) { Console::success("No resources found"); - return; } // On initial load: load all projects from all schedules From dfb53895eb582c8891de826afd44995a92fdec35 Mon Sep 17 00:00:00 2001 From: Hemachandar Date: Tue, 16 Dec 2025 12:40:42 +0530 Subject: [PATCH 092/220] tiny --- .env | 6 +++--- .../Platform/Modules/Proxy/Http/Rules/API/Create.php | 2 -- tests/e2e/Services/Proxy/ProxyCustomServerTest.php | 2 +- tests/unit/Network/Validators/DNSTest.php | 2 +- 4 files changed, 5 insertions(+), 7 deletions(-) diff --git a/.env b/.env index 3a0c4a50cb..64fc7ef10f 100644 --- a/.env +++ b/.env @@ -21,13 +21,13 @@ _APP_OPTIONS_ROUTER_PROTECTION=disabled _APP_OPTIONS_FORCE_HTTPS=disabled _APP_OPTIONS_ROUTER_FORCE_HTTPS=disabled _APP_OPENSSL_KEY_V1=your-secret-key -_APP_DNS=8.8.8.8 +_APP_DNS=172.16.238.100 # CoreDNS _APP_DOMAIN=appwrite.test _APP_CONSOLE_DOMAIN=localhost _APP_DOMAIN_FUNCTIONS=functions.localhost _APP_DOMAIN_SITES=sites.localhost -_APP_DOMAIN_TARGET_CNAME=test.localhost -_APP_DOMAIN_TARGET_A=127.0.0.1 +_APP_DOMAIN_TARGET_CNAME=cname.localhost +_APP_DOMAIN_TARGET_A=203.0.0.1 _APP_DOMAIN_TARGET_AAAA=::1 _APP_DOMAIN_TARGET_CAA=digicert.com _APP_RULES_FORMAT=md5 diff --git a/src/Appwrite/Platform/Modules/Proxy/Http/Rules/API/Create.php b/src/Appwrite/Platform/Modules/Proxy/Http/Rules/API/Create.php index e5bb447ee0..a187622422 100644 --- a/src/Appwrite/Platform/Modules/Proxy/Http/Rules/API/Create.php +++ b/src/Appwrite/Platform/Modules/Proxy/Http/Rules/API/Create.php @@ -113,8 +113,6 @@ class Create extends Action } } - \var_dump($rule); - try { $rule = $dbForPlatform->createDocument('rules', $rule); } catch (Duplicate $e) { diff --git a/tests/e2e/Services/Proxy/ProxyCustomServerTest.php b/tests/e2e/Services/Proxy/ProxyCustomServerTest.php index ead6be8084..dc2f5c72a3 100644 --- a/tests/e2e/Services/Proxy/ProxyCustomServerTest.php +++ b/tests/e2e/Services/Proxy/ProxyCustomServerTest.php @@ -36,7 +36,7 @@ class ProxyCustomServerTest extends Scope $rules = $this->listRules([ 'queries' => [ Query::endsWith('domain', 'webapp.com')->toString(), - Query::limit(1) + Query::limit(1)->toString() ] ]); $this->assertEquals(200, $rules['headers']['status-code']); diff --git a/tests/unit/Network/Validators/DNSTest.php b/tests/unit/Network/Validators/DNSTest.php index 4a07098a31..6e4a78022f 100644 --- a/tests/unit/Network/Validators/DNSTest.php +++ b/tests/unit/Network/Validators/DNSTest.php @@ -50,4 +50,4 @@ class DNSTest extends TestCase $result = $validator->isValid('stage-wrong-cname.webapp.com'); $this->assertEquals(false, $result); } -} \ No newline at end of file +} From 91a3ee0c9d448ea07f16718cbe1b205bfc05cee5 Mon Sep 17 00:00:00 2001 From: fogelito Date: Tue, 16 Dec 2025 09:24:47 +0200 Subject: [PATCH 093/220] Add File info --- src/Appwrite/Platform/Workers/Migrations.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Appwrite/Platform/Workers/Migrations.php b/src/Appwrite/Platform/Workers/Migrations.php index ebcd199ff6..779831c7d6 100644 --- a/src/Appwrite/Platform/Workers/Migrations.php +++ b/src/Appwrite/Platform/Workers/Migrations.php @@ -372,7 +372,9 @@ class Migrations extends Action $migration->setAttribute('status', 'completed'); $migration->setAttribute('stage', 'finished'); } catch (\Throwable $th) { - Console::error($th->getMessage()); + Console::error('Message: ' . $th->getMessage()); + Console::error('File: ' . $th->getFile()); + Console::error('Line: ' . $th->getLine()); Console::error($th->getTraceAsString()); if (! $migration->isEmpty()) { From 1c165b8c8d30e67eafa17abe869a6ba1029cfc9f Mon Sep 17 00:00:00 2001 From: fogelito Date: Tue, 16 Dec 2025 09:49:35 +0200 Subject: [PATCH 094/220] endpoint fallback --- src/Appwrite/Platform/Workers/Migrations.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Appwrite/Platform/Workers/Migrations.php b/src/Appwrite/Platform/Workers/Migrations.php index 78ae7c4ced..93d29a00fa 100644 --- a/src/Appwrite/Platform/Workers/Migrations.php +++ b/src/Appwrite/Platform/Workers/Migrations.php @@ -153,7 +153,7 @@ class Migrations extends Action $database = null; $queries = []; - if ($credentials['endpoint'] === 'http://localhost/v1') { + if (($credentials['endpoint'] ?? null) === 'http://localhost/v1') { $platform = Config::getParam('platform', []); $protocol = System::getEnv('_APP_OPTIONS_FORCE_HTTPS') === 'disabled' ? 'http' : 'https'; $credentials['endpoint'] = $protocol . '://' . $platform['apiHostname'] . '/v1'; From b0b9c412fc155a65c95be0423a090aa5ded8082a Mon Sep 17 00:00:00 2001 From: fogelito Date: Tue, 16 Dec 2025 10:13:08 +0200 Subject: [PATCH 095/220] Add previous messages --- app/worker.php | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/app/worker.php b/app/worker.php index ce210d7c8b..cfbcc0ce4d 100644 --- a/app/worker.php +++ b/app/worker.php @@ -411,6 +411,13 @@ Server::setResource('logError', function (Registry $register, Document $project) $log->addExtra('line', $error->getLine()); $log->addExtra('trace', $error->getTraceAsString()); + if ($error->getPrevious() !== null) { + if ($error->getPrevious()->getMessage() != $error->getMessage()) { + $log->addExtra('Previous message', $error->getPrevious()->getMessage()); + } + $log->addExtra('Previous file', $error->getPrevious()->getFile()); + $log->addExtra('Previous line', $error->getPrevious()->getLine()); + } foreach (($extras ?? []) as $key => $value) { $log->addExtra($key, $value); @@ -431,6 +438,13 @@ Server::setResource('logError', function (Registry $register, Document $project) Console::warning("Failed: {$error->getMessage()}"); Console::warning($error->getTraceAsString()); + + if ($error->getPrevious() !== null) { + if ($error->getPrevious()->getMessage() != $error->getMessage()) { + Console::warning("Previous Failed: {$error->getPrevious()->getMessage()}"); + } + Console::warning("Previous File: {$error->getPrevious()->getFile()} Line: {$error->getPrevious()->getLine()}"); + } }; }, ['register', 'project']); From c6214ef4a844a5b90004467bed0ea1b109c56850 Mon Sep 17 00:00:00 2001 From: fogelito Date: Tue, 16 Dec 2025 10:23:05 +0200 Subject: [PATCH 096/220] Camel case --- app/worker.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/worker.php b/app/worker.php index cfbcc0ce4d..468408e76d 100644 --- a/app/worker.php +++ b/app/worker.php @@ -413,10 +413,10 @@ Server::setResource('logError', function (Registry $register, Document $project) if ($error->getPrevious() !== null) { if ($error->getPrevious()->getMessage() != $error->getMessage()) { - $log->addExtra('Previous message', $error->getPrevious()->getMessage()); + $log->addExtra('previousMessage', $error->getPrevious()->getMessage()); } - $log->addExtra('Previous file', $error->getPrevious()->getFile()); - $log->addExtra('Previous line', $error->getPrevious()->getLine()); + $log->addExtra('previousFile', $error->getPrevious()->getFile()); + $log->addExtra('previousLine', $error->getPrevious()->getLine()); } foreach (($extras ?? []) as $key => $value) { From 421696a26e3d59dcfdcb2d5d2ba562d499becd6f Mon Sep 17 00:00:00 2001 From: fogelito Date: Tue, 16 Dec 2025 10:27:28 +0200 Subject: [PATCH 097/220] Previous errors --- app/worker.php | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/app/worker.php b/app/worker.php index ce210d7c8b..468408e76d 100644 --- a/app/worker.php +++ b/app/worker.php @@ -411,6 +411,13 @@ Server::setResource('logError', function (Registry $register, Document $project) $log->addExtra('line', $error->getLine()); $log->addExtra('trace', $error->getTraceAsString()); + if ($error->getPrevious() !== null) { + if ($error->getPrevious()->getMessage() != $error->getMessage()) { + $log->addExtra('previousMessage', $error->getPrevious()->getMessage()); + } + $log->addExtra('previousFile', $error->getPrevious()->getFile()); + $log->addExtra('previousLine', $error->getPrevious()->getLine()); + } foreach (($extras ?? []) as $key => $value) { $log->addExtra($key, $value); @@ -431,6 +438,13 @@ Server::setResource('logError', function (Registry $register, Document $project) Console::warning("Failed: {$error->getMessage()}"); Console::warning($error->getTraceAsString()); + + if ($error->getPrevious() !== null) { + if ($error->getPrevious()->getMessage() != $error->getMessage()) { + Console::warning("Previous Failed: {$error->getPrevious()->getMessage()}"); + } + Console::warning("Previous File: {$error->getPrevious()->getFile()} Line: {$error->getPrevious()->getLine()}"); + } }; }, ['register', 'project']); From 5ba7501842c0b653974c5585c02fbe99f620e8b0 Mon Sep 17 00:00:00 2001 From: fogelito Date: Tue, 16 Dec 2025 10:30:31 +0200 Subject: [PATCH 098/220] revert previous errors --- app/worker.php | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/app/worker.php b/app/worker.php index 468408e76d..ce210d7c8b 100644 --- a/app/worker.php +++ b/app/worker.php @@ -411,13 +411,6 @@ Server::setResource('logError', function (Registry $register, Document $project) $log->addExtra('line', $error->getLine()); $log->addExtra('trace', $error->getTraceAsString()); - if ($error->getPrevious() !== null) { - if ($error->getPrevious()->getMessage() != $error->getMessage()) { - $log->addExtra('previousMessage', $error->getPrevious()->getMessage()); - } - $log->addExtra('previousFile', $error->getPrevious()->getFile()); - $log->addExtra('previousLine', $error->getPrevious()->getLine()); - } foreach (($extras ?? []) as $key => $value) { $log->addExtra($key, $value); @@ -438,13 +431,6 @@ Server::setResource('logError', function (Registry $register, Document $project) Console::warning("Failed: {$error->getMessage()}"); Console::warning($error->getTraceAsString()); - - if ($error->getPrevious() !== null) { - if ($error->getPrevious()->getMessage() != $error->getMessage()) { - Console::warning("Previous Failed: {$error->getPrevious()->getMessage()}"); - } - Console::warning("Previous File: {$error->getPrevious()->getFile()} Line: {$error->getPrevious()->getLine()}"); - } }; }, ['register', 'project']); From ef54603367da7d4ce5658a2f1a24ffb8d2bfdbe7 Mon Sep 17 00:00:00 2001 From: fogelito Date: Tue, 16 Dec 2025 11:35:34 +0200 Subject: [PATCH 099/220] bump --- composer.lock | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/composer.lock b/composer.lock index 6277c96145..4ffc7e7db4 100644 --- a/composer.lock +++ b/composer.lock @@ -2004,16 +2004,16 @@ }, { "name": "phpseclib/phpseclib", - "version": "3.0.47", + "version": "3.0.48", "source": { "type": "git", "url": "https://github.com/phpseclib/phpseclib.git", - "reference": "9d6ca36a6c2dd434765b1071b2644a1c683b385d" + "reference": "64065a5679c50acb886e82c07aa139b0f757bb89" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/9d6ca36a6c2dd434765b1071b2644a1c683b385d", - "reference": "9d6ca36a6c2dd434765b1071b2644a1c683b385d", + "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/64065a5679c50acb886e82c07aa139b0f757bb89", + "reference": "64065a5679c50acb886e82c07aa139b0f757bb89", "shasum": "" }, "require": { @@ -2094,7 +2094,7 @@ ], "support": { "issues": "https://github.com/phpseclib/phpseclib/issues", - "source": "https://github.com/phpseclib/phpseclib/tree/3.0.47" + "source": "https://github.com/phpseclib/phpseclib/tree/3.0.48" }, "funding": [ { @@ -2110,7 +2110,7 @@ "type": "tidelift" } ], - "time": "2025-10-06T01:07:24+00:00" + "time": "2025-12-15T11:51:42+00:00" }, { "name": "psr/container", @@ -2453,20 +2453,20 @@ }, { "name": "ramsey/uuid", - "version": "4.9.1", + "version": "4.9.2", "source": { "type": "git", "url": "https://github.com/ramsey/uuid.git", - "reference": "81f941f6f729b1e3ceea61d9d014f8b6c6800440" + "reference": "8429c78ca35a09f27565311b98101e2826affde0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/uuid/zipball/81f941f6f729b1e3ceea61d9d014f8b6c6800440", - "reference": "81f941f6f729b1e3ceea61d9d014f8b6c6800440", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/8429c78ca35a09f27565311b98101e2826affde0", + "reference": "8429c78ca35a09f27565311b98101e2826affde0", "shasum": "" }, "require": { - "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11 || ^0.12 || ^0.13 || ^0.14", + "brick/math": "^0.8.16 || ^0.9 || ^0.10 || ^0.11 || ^0.12 || ^0.13 || ^0.14", "php": "^8.0", "ramsey/collection": "^1.2 || ^2.0" }, @@ -2525,9 +2525,9 @@ ], "support": { "issues": "https://github.com/ramsey/uuid/issues", - "source": "https://github.com/ramsey/uuid/tree/4.9.1" + "source": "https://github.com/ramsey/uuid/tree/4.9.2" }, - "time": "2025-09-04T20:59:21+00:00" + "time": "2025-12-14T04:43:48+00:00" }, { "name": "spomky-labs/otphp", @@ -3896,16 +3896,16 @@ }, { "name": "utopia-php/database", - "version": "3.5.0", + "version": "3.6.0", "source": { "type": "git", "url": "https://github.com/utopia-php/database.git", - "reference": "5da71b65a6123ce2e78795522b05b7458aabfbd7" + "reference": "af15066255a5fd7bd2926de37bcbf3d8500fc155" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/utopia-php/database/zipball/5da71b65a6123ce2e78795522b05b7458aabfbd7", - "reference": "5da71b65a6123ce2e78795522b05b7458aabfbd7", + "url": "https://api.github.com/repos/utopia-php/database/zipball/af15066255a5fd7bd2926de37bcbf3d8500fc155", + "reference": "af15066255a5fd7bd2926de37bcbf3d8500fc155", "shasum": "" }, "require": { @@ -3948,9 +3948,9 @@ ], "support": { "issues": "https://github.com/utopia-php/database/issues", - "source": "https://github.com/utopia-php/database/tree/3.5.0" + "source": "https://github.com/utopia-php/database/tree/3.6.0" }, - "time": "2025-11-18T08:11:01+00:00" + "time": "2025-12-08T05:23:04+00:00" }, { "name": "utopia-php/detector", @@ -8943,7 +8943,7 @@ ], "aliases": [], "minimum-stability": "stable", - "stability-flags": {}, + "stability-flags": [], "prefer-stable": false, "prefer-lowest": false, "platform": { @@ -8967,5 +8967,5 @@ "platform-overrides": { "php": "8.3" }, - "plugin-api-version": "2.9.0" + "plugin-api-version": "2.6.0" } From 1f4534d67409bab573d416344060fa48820399b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matej=20Ba=C4=8Do?= Date: Tue, 16 Dec 2025 10:44:02 +0100 Subject: [PATCH 100/220] Fix deletes bug --- src/Appwrite/Platform/Workers/Deletes.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Appwrite/Platform/Workers/Deletes.php b/src/Appwrite/Platform/Workers/Deletes.php index 38624367c9..5729bdc2c7 100644 --- a/src/Appwrite/Platform/Workers/Deletes.php +++ b/src/Appwrite/Platform/Workers/Deletes.php @@ -745,7 +745,7 @@ class Deletes extends Action Query::select([...$this->selects, '$createdAt', 'name', 'path']), Query::equal('bucketId', ['default']), Query::createdBefore($oneWeekAgo), - Query::endsWith('name', ['.csv']), + Query::endsWith('name', '.csv'), Query::orderDesc('$createdAt'), Query::orderDesc(), ], $dbForPlatform, function (Document $file) use ($deviceForFiles) { From 850a834211a93529b2889a5aabecc1f12c9de673 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matej=20Ba=C4=8Do?= Date: Tue, 16 Dec 2025 11:23:44 +0100 Subject: [PATCH 101/220] Fix CSV template build flow (empty source) --- src/Appwrite/Platform/Modules/Functions/Workers/Builds.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/Appwrite/Platform/Modules/Functions/Workers/Builds.php b/src/Appwrite/Platform/Modules/Functions/Workers/Builds.php index 43e28b011b..a560c5384e 100644 --- a/src/Appwrite/Platform/Modules/Functions/Workers/Builds.php +++ b/src/Appwrite/Platform/Modules/Functions/Workers/Builds.php @@ -435,18 +435,19 @@ class Builds extends Action // Build from template $templateRepositoryName = $template->getAttribute('repositoryName', ''); $templateOwnerName = $template->getAttribute('ownerName', ''); - $templateVersion = $template->getAttribute('version', ''); + $templateReferenceType = $template->getAttribute('referenceType', ''); + $templateReferenceValue = $template->getAttribute('referenceValue', ''); $templateRootDirectory = $template->getAttribute('rootDirectory', ''); $templateRootDirectory = \rtrim($templateRootDirectory, '/'); $templateRootDirectory = \ltrim($templateRootDirectory, '.'); $templateRootDirectory = \ltrim($templateRootDirectory, '/'); - if (!empty($templateRepositoryName) && !empty($templateOwnerName) && !empty($templateVersion)) { + if (!empty($templateRepositoryName) && !empty($templateOwnerName) && !empty($templateReferenceType) && !empty($templateReferenceValue)) { // Clone template repo $tmpTemplateDirectory = '/tmp/builds/' . $deploymentId . '/template'; - $gitCloneCommandForTemplate = $github->generateCloneCommand($templateOwnerName, $templateRepositoryName, $templateVersion, GitHub::CLONE_TYPE_TAG, $tmpTemplateDirectory, $templateRootDirectory); + $gitCloneCommandForTemplate = $github->generateCloneCommand($templateOwnerName, $templateRepositoryName, $templateReferenceValue, $templateReferenceType, $tmpTemplateDirectory, $templateRootDirectory); $exit = Console::execute($gitCloneCommandForTemplate, '', $stdout, $stderr); if ($exit !== 0) { From 990209b624a01a56f3d8ad7ecd81d92a4036d0a9 Mon Sep 17 00:00:00 2001 From: Hemachandar Date: Tue, 16 Dec 2025 16:17:15 +0530 Subject: [PATCH 102/220] feedback --- .../Proxy/Http/Rules/Function/Create.php | 9 ++-- .../Services/Proxy/ProxyCustomServerTest.php | 42 +++++++++---------- 2 files changed, 24 insertions(+), 27 deletions(-) diff --git a/src/Appwrite/Platform/Modules/Proxy/Http/Rules/Function/Create.php b/src/Appwrite/Platform/Modules/Proxy/Http/Rules/Function/Create.php index d7e427efe1..13ee6b9cb5 100644 --- a/src/Appwrite/Platform/Modules/Proxy/Http/Rules/Function/Create.php +++ b/src/Appwrite/Platform/Modules/Proxy/Http/Rules/Function/Create.php @@ -91,18 +91,15 @@ class Create extends Action // TODO: (@Meldiron) Remove after 1.7.x migration $ruleId = System::getEnv('_APP_RULES_FORMAT') === 'md5' ? md5($domain) : ID::unique(); - + $status = RULE_STATUS_CREATED; $owner = ''; + if ( ($functionsDomain != '' && \str_ends_with($domain, $functionsDomain)) || ($sitesDomain != '' && \str_ends_with($domain, $sitesDomain)) ) { - $owner = 'Appwrite'; - } - - $status = RULE_STATUS_CREATED; - if (($functionsDomain != '' && \str_ends_with($domain, $functionsDomain)) || ($sitesDomain != '' && \str_ends_with($domain, $sitesDomain))) { $status = RULE_STATUS_VERIFIED; + $owner = 'Appwrite'; } $rule = new Document([ diff --git a/tests/e2e/Services/Proxy/ProxyCustomServerTest.php b/tests/e2e/Services/Proxy/ProxyCustomServerTest.php index dc2f5c72a3..1830adbae3 100644 --- a/tests/e2e/Services/Proxy/ProxyCustomServerTest.php +++ b/tests/e2e/Services/Proxy/ProxyCustomServerTest.php @@ -86,7 +86,7 @@ class ProxyCustomServerTest extends Scope $domain = \uniqid() . '.com'; $rule = $this->createAPIRule($domain); $this->assertEquals(201, $rule['headers']['status-code']); - $this->assertEquals(RULE_STATUS_CREATED, $rule['body']['status']); + $this->assertEquals('created', $rule['body']['status']); } public function testCreateRuleVcs(): void @@ -388,7 +388,7 @@ class ProxyCustomServerTest extends Scope $rule = $this->createAPIRule($domain); $this->assertEquals(201, $rule['headers']['status-code']); - $this->assertEquals(RULE_STATUS_VERIFIED, $rule['body']['status']); + $this->assertEquals('verified', $rule['body']['status']); $this->cleanupRule($rule['body']['$id']); @@ -397,7 +397,7 @@ class ProxyCustomServerTest extends Scope $rule = $this->createAPIRule($domain); $this->assertEquals(201, $rule['headers']['status-code']); - $this->assertEquals(RULE_STATUS_VERIFIED, $rule['body']['status']); + $this->assertEquals('verified', $rule['body']['status']); $this->cleanupRule($rule['body']['$id']); @@ -406,7 +406,7 @@ class ProxyCustomServerTest extends Scope $rule = $this->createAPIRule($domain); $this->assertEquals(201, $rule['headers']['status-code']); - $this->assertEquals(RULE_STATUS_CREATED, $rule['body']['status']); + $this->assertEquals('created', $rule['body']['status']); $ruleId = $rule['body']['$id']; @@ -579,7 +579,7 @@ class ProxyCustomServerTest extends Scope $rule = $this->createSiteRule('stage-site.webapp.com', $siteId); $this->assertEquals(201, $rule['headers']['status-code']); - $this->assertEquals(RULE_STATUS_CERTIFICATE_GENERATING, $rule['body']['status']); + $this->assertEquals('verifying', $rule['body']['status']); $this->assertEmpty($rule['body']['logs']); $this->assertNotEmpty($rule['body']['$id']); $ruleId = $rule['body']['$id']; @@ -587,7 +587,7 @@ class ProxyCustomServerTest extends Scope $rule = $this->updateRuleVerification($ruleId); $this->assertEquals(200, $rule['headers']['status-code']); $this->assertEquals($ruleId, $rule['body']['$id']); - $this->assertEquals(RULE_STATUS_CERTIFICATE_GENERATING, $rule['body']['status']); + $this->assertEquals('verifying', $rule['body']['status']); $this->assertEmpty($rule['body']['logs']); $this->cleanupRule($rule['body']['$id']); @@ -599,13 +599,13 @@ class ProxyCustomServerTest extends Scope $rule = $this->createFunctionRule('stage-function.webapp.com', $functionId); $this->assertEquals(201, $rule['headers']['status-code']); - $this->assertEquals(RULE_STATUS_CERTIFICATE_GENERATING, $rule['body']['status']); + $this->assertEquals('verifying', $rule['body']['status']); $this->assertEmpty($rule['body']['logs']); $this->cleanupRule($rule['body']['$id']); $rule = $this->createAPIRule('stage-site.webapp.com'); $this->assertEquals(201, $rule['headers']['status-code']); - $this->assertEquals(RULE_STATUS_CREATED, $rule['body']['status']); + $this->assertEquals('created', $rule['body']['status']); $this->assertStringContainsString('has incorrect CNAME value', $rule['body']['logs']); $this->cleanupRule($rule['body']['$id']); @@ -614,7 +614,7 @@ class ProxyCustomServerTest extends Scope // 3. Wrong A record fails to verify $rule = $this->createAPIRule('wrong-a-webapp.com'); $this->assertEquals(201, $rule['headers']['status-code']); - $this->assertEquals(RULE_STATUS_CREATED, $rule['body']['status']); + $this->assertEquals('created', $rule['body']['status']); $this->assertStringContainsString('is missing CNAME record', $rule['body']['logs']); $ruleId = $rule['body']['$id']; @@ -624,14 +624,14 @@ class ProxyCustomServerTest extends Scope $rule = $this->getRule($ruleId); $this->assertEquals(200, $rule['headers']['status-code']); - $this->assertEquals(RULE_STATUS_CREATED, $rule['body']['status']); + $this->assertEquals('created', $rule['body']['status']); $this->cleanupRule($ruleId); // 4. Correct A record can verify $rule = $this->createAPIRule('webapp.com'); $this->assertEquals(201, $rule['headers']['status-code']); - $this->assertEquals(RULE_STATUS_CERTIFICATE_GENERATING, $rule['body']['status']); + $this->assertEquals('verifying', $rule['body']['status']); $this->assertEmpty($rule['body']['logs']); $this->cleanupRule($rule['body']['$id']); @@ -639,7 +639,7 @@ class ProxyCustomServerTest extends Scope // 5. Correct CNAME record can verify (no CAA record) $rule = $this->createAPIRule('stage.webapp.com'); $this->assertEquals(201, $rule['headers']['status-code']); - $this->assertEquals(RULE_STATUS_CERTIFICATE_GENERATING, $rule['body']['status']); + $this->assertEquals('verifying', $rule['body']['status']); $this->assertEmpty($rule['body']['logs']); $this->cleanupRule($rule['body']['$id']); @@ -647,7 +647,7 @@ class ProxyCustomServerTest extends Scope // 6. Missing CNAME record fails to verify $rule = $this->createAPIRule('stage-missing-cname.webapp.com'); $this->assertEquals(201, $rule['headers']['status-code']); - $this->assertEquals(RULE_STATUS_CREATED, $rule['body']['status']); + $this->assertEquals('created', $rule['body']['status']); $this->assertStringContainsString('is missing CNAME record', $rule['body']['logs']); $ruleId = $rule['body']['$id']; @@ -657,14 +657,14 @@ class ProxyCustomServerTest extends Scope $rule = $this->getRule($ruleId); $this->assertEquals(200, $rule['headers']['status-code']); - $this->assertEquals(RULE_STATUS_CREATED, $rule['body']['status']); + $this->assertEquals('created', $rule['body']['status']); $this->cleanupRule($ruleId); // 7. Wrong CNAME record fails to verify $rule = $this->createAPIRule('stage-wrong-cname.webapp.com'); $this->assertEquals(201, $rule['headers']['status-code']); - $this->assertEquals(RULE_STATUS_CREATED, $rule['body']['status']); + $this->assertEquals('created', $rule['body']['status']); $this->assertStringContainsString('has incorrect CNAME value', $rule['body']['logs']); $ruleId = $rule['body']['$id']; @@ -674,14 +674,14 @@ class ProxyCustomServerTest extends Scope $rule = $this->getRule($ruleId); $this->assertEquals(200, $rule['headers']['status-code']); - $this->assertEquals(RULE_STATUS_CREATED, $rule['body']['status']); + $this->assertEquals('created', $rule['body']['status']); $this->cleanupRule($ruleId); // 8. Wrong CAA record fails to verify $rule = $this->createAPIRule('stage-wrong-caa.webapp.com'); $this->assertEquals(201, $rule['headers']['status-code']); - $this->assertEquals(RULE_STATUS_CREATED, $rule['body']['status']); + $this->assertEquals('created', $rule['body']['status']); $this->assertStringContainsString('has incorrect CAA value', $rule['body']['logs']); $ruleId = $rule['body']['$id']; @@ -691,14 +691,14 @@ class ProxyCustomServerTest extends Scope $rule = $this->getRule($ruleId); $this->assertEquals(200, $rule['headers']['status-code']); - $this->assertEquals(RULE_STATUS_CREATED, $rule['body']['status']); + $this->assertEquals('created', $rule['body']['status']); $this->cleanupRule($ruleId); // 9. Correct CAA record can verify $rule = $this->createAPIRule('stage-correct-caa.webapp.com'); $this->assertEquals(201, $rule['headers']['status-code']); - $this->assertEquals(RULE_STATUS_CERTIFICATE_GENERATING, $rule['body']['status']); + $this->assertEquals('verifying', $rule['body']['status']); $this->assertEmpty($rule['body']['logs']); $this->cleanupRule($rule['body']['$id']); @@ -710,7 +710,7 @@ class ProxyCustomServerTest extends Scope $rule = $this->createAPIRule($domain); $this->assertEquals(201, $rule['headers']['status-code']); - $this->assertEquals(RULE_STATUS_CREATED, $rule['body']['status']); + $this->assertEquals('created', $rule['body']['status']); $this->assertNotEmpty($rule['body']['logs']); $ruleId = $rule['body']['$id']; @@ -726,7 +726,7 @@ class ProxyCustomServerTest extends Scope $ruleAfterUpdate = $this->getRule($ruleId); $this->assertEquals(200, $ruleAfterUpdate['headers']['status-code']); - $this->assertEquals(RULE_STATUS_CREATED, $ruleAfterUpdate['body']['status']); + $this->assertEquals('created', $ruleAfterUpdate['body']['status']); $this->assertEquals($initiallogs, $ruleAfterUpdate['body']['logs']); $this->assertNotEquals($initialUpdatedAt, $ruleAfterUpdate['body']['$updatedAt']); From e8e47746ea22aeb53a0ce162c1733dc28baa0903 Mon Sep 17 00:00:00 2001 From: loks0n <22452787+loks0n@users.noreply.github.com> Date: Tue, 16 Dec 2025 14:14:57 +0000 Subject: [PATCH 103/220] fix: oauth custom domains --- app/controllers/api/account.php | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/app/controllers/api/account.php b/app/controllers/api/account.php index 0ae4e19f43..f18cb27834 100644 --- a/app/controllers/api/account.php +++ b/app/controllers/api/account.php @@ -1953,7 +1953,16 @@ App::get('/v1/account/tokens/oauth2/:provider') ->inject('project') ->inject('platform') ->action(function (string $provider, string $success, string $failure, array $scopes, Request $request, Response $response, Document $project, array $platform) use ($oauthDefaultSuccess, $oauthDefaultFailure) { - $callback = $platform['endpoint'] . '/account/sessions/oauth2/callback/' . $provider . '/' . $project->getId(); + $protocol = System::getEnv('_APP_OPTIONS_FORCE_HTTPS') === 'disabled' ? 'http' : 'https'; + $port = $request->getPort(); + $callbackBase = $protocol . '://' . $request->getHostname(); + if ($protocol === 'https' && $port !== '443') { + $callbackBase .= ':' . $port; + } elseif ($protocol === 'http' && $port !== '80') { + $callbackBase .= ':' . $port; + } + + $callback = $callbackBase . '/v1/account/sessions/oauth2/callback/' . $provider . '/' . $project->getId(); $providerEnabled = $project->getAttribute('oAuthProviders', [])[$provider . 'Enabled'] ?? false; if (!$providerEnabled) { From 8d4c6a8218101a00ea6336b2c37f6cfabbe5cd2c Mon Sep 17 00:00:00 2001 From: fogelito Date: Tue, 16 Dec 2025 17:17:03 +0200 Subject: [PATCH 104/220] patch $batchSize --- src/Appwrite/Platform/Tasks/ScheduleBase.php | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Appwrite/Platform/Tasks/ScheduleBase.php b/src/Appwrite/Platform/Tasks/ScheduleBase.php index 3853f0d9b3..bcfcffcc98 100644 --- a/src/Appwrite/Platform/Tasks/ScheduleBase.php +++ b/src/Appwrite/Platform/Tasks/ScheduleBase.php @@ -219,6 +219,7 @@ abstract class ScheduleBase extends Action if (!empty($projectIdsToLoad)) { $projectIdsToLoad = array_values($projectIdsToLoad); $batchSize = 10_000; + $batchSize = 499; $batches = array_chunk($projectIdsToLoad, $batchSize); $projectsLoadStart = microtime(true); From 3c3aa6d41680dda7bfc9c0e590b516b6841a230d Mon Sep 17 00:00:00 2001 From: loks0n <22452787+loks0n@users.noreply.github.com> Date: Tue, 16 Dec 2025 22:35:39 +0000 Subject: [PATCH 105/220] fix: fallback platform --- app/controllers/api/messaging.php | 10 +++++++--- app/controllers/general.php | 7 +++++-- app/init/resources.php | 18 +++--------------- .../Functions/Http/Executions/Create.php | 5 ++++- .../Modules/Functions/Workers/Builds.php | 7 +++++-- src/Appwrite/Platform/Workers/Functions.php | 7 +++++-- 6 files changed, 29 insertions(+), 25 deletions(-) diff --git a/app/controllers/api/messaging.php b/app/controllers/api/messaging.php index 771dd0e6a5..a2eefb3355 100644 --- a/app/controllers/api/messaging.php +++ b/app/controllers/api/messaging.php @@ -3552,7 +3552,8 @@ App::post('/v1/messaging/messages/push') throw new Exception(Exception::STORAGE_FILE_TYPE_UNSUPPORTED); } - $protocol = System::getEnv('_APP_OPTIONS_FORCE_HTTPS') === 'disabled' ? 'http' : 'https'; + $protocol = System::getEnv('_APP_OPTIONS_FORCE_HTTPS') == 'disabled' ? 'http' : 'https'; + $endpoint = "$protocol://{$platform['apiHostname']}/v1"; $scheduleTime = $currentScheduledAt ?? $scheduledAt; if (!\is_null($scheduleTime)) { @@ -3572,7 +3573,7 @@ App::post('/v1/messaging/messages/push') $image = [ 'bucketId' => $bucket->getId(), 'fileId' => $file->getId(), - 'url' => "{$platform['endpoint']}/storage/buckets/{$bucket->getId()}/files/{$file->getId()}/push?project={$project->getId()}&jwt={$jwt}", + 'url' => "{$endpoint}/storage/buckets/{$bucket->getId()}/files/{$file->getId()}/push?project={$project->getId()}&jwt={$jwt}", ]; } @@ -4562,10 +4563,13 @@ App::patch('/v1/messaging/messages/push/:messageId') 'projectId' => $project->getId(), ]); + $protocol = System::getEnv('_APP_OPTIONS_FORCE_HTTPS') == 'disabled' ? 'http' : 'https'; + $endpoint = "$protocol://{$platform['apiHostname']}/v1"; + $pushData['image'] = [ 'bucketId' => $bucket->getId(), 'fileId' => $file->getId(), - 'url' => "{$platform['endpoint']}/storage/buckets/{$bucket->getId()}/files/{$file->getId()}/push?project={$project->getId()}&jwt={$jwt}", + 'url' => "{$endpoint}/storage/buckets/{$bucket->getId()}/files/{$file->getId()}/push?project={$project->getId()}&jwt={$jwt}", ]; } diff --git a/app/controllers/general.php b/app/controllers/general.php index 30bb46ed9a..996b1dce98 100644 --- a/app/controllers/general.php +++ b/app/controllers/general.php @@ -458,10 +458,13 @@ function router(App $utopia, Database $dbForPlatform, callable $getProjectDB, Sw $vars[$var->getAttribute('key')] = $var->getAttribute('value', ''); } + $protocol = System::getEnv('_APP_OPTIONS_FORCE_HTTPS') == 'disabled' ? 'http' : 'https'; + $endpoint = "$protocol://{$platform['apiHostname']}/v1"; + // Appwrite vars if ($type === 'function') { $vars = \array_merge($vars, [ - 'APPWRITE_FUNCTION_API_ENDPOINT' => $platform['endpoint'], + 'APPWRITE_FUNCTION_API_ENDPOINT' => $endpoint, 'APPWRITE_FUNCTION_ID' => $resource->getId(), 'APPWRITE_FUNCTION_NAME' => $resource->getAttribute('name'), 'APPWRITE_FUNCTION_DEPLOYMENT' => $deployment->getId(), @@ -473,7 +476,7 @@ function router(App $utopia, Database $dbForPlatform, callable $getProjectDB, Sw ]); } elseif ($type === 'site') { $vars = \array_merge($vars, [ - 'APPWRITE_SITE_API_ENDPOINT' => $platform['endpoint'], + 'APPWRITE_SITE_API_ENDPOINT' => $endpoint, 'APPWRITE_SITE_ID' => $resource->getId(), 'APPWRITE_SITE_NAME' => $resource->getAttribute('name'), 'APPWRITE_SITE_DEPLOYMENT' => $deployment->getId(), diff --git a/app/init/resources.php b/app/init/resources.php index e40a6a8167..99476c695f 100644 --- a/app/init/resources.php +++ b/app/init/resources.php @@ -164,21 +164,9 @@ App::setResource('queueForStatsResources', function (Publisher $publisher) { /** * Platform configuration */ -App::setResource('platform', function (Request $request) { - $platform = Config::getParam('platform', []); - $protocol = System::getEnv('_APP_OPTIONS_FORCE_HTTPS') == 'disabled' ? 'http' : 'https'; - - $port = ''; - if ($request->getPort() === '443' && $protocol !== 'https') { - $port = ':443'; - } - if ($request->getPort() === '80' && $protocol !== 'http') { - $port = ':80'; - } - $platform['endpoint'] = "$protocol://{$platform['apiHostname']}{$port}/v1"; - - return $platform; -}, ['request']); +App::setResource('platform', function () { + return Config::getParam('platform', []); +}, []); /** * List of allowed request hostnames for the request. diff --git a/src/Appwrite/Platform/Modules/Functions/Http/Executions/Create.php b/src/Appwrite/Platform/Modules/Functions/Http/Executions/Create.php index ce06be380d..81f55ba829 100644 --- a/src/Appwrite/Platform/Modules/Functions/Http/Executions/Create.php +++ b/src/Appwrite/Platform/Modules/Functions/Http/Executions/Create.php @@ -368,9 +368,12 @@ class Create extends Base $vars[$var->getAttribute('key')] = $var->getAttribute('value', ''); } + $protocol = System::getEnv('_APP_OPTIONS_FORCE_HTTPS') == 'disabled' ? 'http' : 'https'; + $endpoint = "$protocol://{$platform['apiHostname']}/v1"; + // Appwrite vars $vars = \array_merge($vars, [ - 'APPWRITE_FUNCTION_API_ENDPOINT' => $platform['endpoint'], + 'APPWRITE_FUNCTION_API_ENDPOINT' => $endpoint, 'APPWRITE_FUNCTION_ID' => $functionId, 'APPWRITE_FUNCTION_NAME' => $function->getAttribute('name'), 'APPWRITE_FUNCTION_DEPLOYMENT' => $deployment->getId(), diff --git a/src/Appwrite/Platform/Modules/Functions/Workers/Builds.php b/src/Appwrite/Platform/Modules/Functions/Workers/Builds.php index a560c5384e..1e288c8df5 100644 --- a/src/Appwrite/Platform/Modules/Functions/Workers/Builds.php +++ b/src/Appwrite/Platform/Modules/Functions/Workers/Builds.php @@ -636,11 +636,14 @@ class Builds extends Action 'APPWRITE_VCS_ROOT_DIRECTORY' => $deployment->getAttribute('providerRootDirectory', ''), ]); + $protocol = System::getEnv('_APP_OPTIONS_FORCE_HTTPS') == 'disabled' ? 'http' : 'https'; + $endpoint = "$protocol://{$platform['apiHostname']}/v1"; + switch ($resource->getCollection()) { case 'functions': $vars = [ ...$vars, - 'APPWRITE_FUNCTION_API_ENDPOINT' => $platform['endpoint'], + 'APPWRITE_FUNCTION_API_ENDPOINT' => $endpoint, 'APPWRITE_FUNCTION_API_KEY' => API_KEY_DYNAMIC . '_' . $apiKey, 'APPWRITE_FUNCTION_ID' => $resource->getId(), 'APPWRITE_FUNCTION_NAME' => $resource->getAttribute('name'), @@ -655,7 +658,7 @@ class Builds extends Action case 'sites': $vars = [ ...$vars, - 'APPWRITE_SITE_API_ENDPOINT' => $platform['endpoint'], + 'APPWRITE_SITE_API_ENDPOINT' => $endpoint, 'APPWRITE_SITE_API_KEY' => API_KEY_DYNAMIC . '_' . $apiKey, 'APPWRITE_SITE_ID' => $resource->getId(), 'APPWRITE_SITE_NAME' => $resource->getAttribute('name'), diff --git a/src/Appwrite/Platform/Workers/Functions.php b/src/Appwrite/Platform/Workers/Functions.php index 4922ce0372..d962ddc8a8 100644 --- a/src/Appwrite/Platform/Workers/Functions.php +++ b/src/Appwrite/Platform/Workers/Functions.php @@ -87,7 +87,7 @@ class Functions extends Action $events = $payload['events'] ?? []; $data = $payload['body'] ?? ''; $eventData = $payload['payload'] ?? ''; - $platform = $payload['platform'] ?? ''; + $platform = $payload['platform'] ?? Config::getParam('platform', []); $function = new Document($payload['function'] ?? []); $functionId = $payload['functionId'] ?? ''; $user = new Document($payload['user'] ?? []); @@ -491,9 +491,12 @@ class Functions extends Action $vars[$var->getAttribute('key')] = $var->getAttribute('value', ''); } + $protocol = System::getEnv('_APP_OPTIONS_FORCE_HTTPS') == 'disabled' ? 'http' : 'https'; + $endpoint = "$protocol://{$platform['apiHostname']}/v1"; + // Appwrite vars $vars = \array_merge($vars, [ - 'APPWRITE_FUNCTION_API_ENDPOINT' => $platform['endpoint'], + 'APPWRITE_FUNCTION_API_ENDPOINT' => $endpoint, 'APPWRITE_FUNCTION_ID' => $functionId, 'APPWRITE_FUNCTION_NAME' => $function->getAttribute('name'), 'APPWRITE_FUNCTION_DEPLOYMENT' => $deploymentId, From 4e0945d0edf3ded6a538fadf4f8212ae29a8db08 Mon Sep 17 00:00:00 2001 From: Jake Barnby Date: Wed, 17 Dec 2025 19:18:57 +1300 Subject: [PATCH 106/220] Update specs --- app/config/specs/open-api3-1.8.x-console.json | 6 +++--- app/config/specs/open-api3-latest-console.json | 6 +++--- app/config/specs/swagger2-1.8.x-console.json | 6 +++--- app/config/specs/swagger2-latest-console.json | 6 +++--- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/app/config/specs/open-api3-1.8.x-console.json b/app/config/specs/open-api3-1.8.x-console.json index ae3b98970f..0a3c9395dd 100644 --- a/app/config/specs/open-api3-1.8.x-console.json +++ b/app/config/specs/open-api3-1.8.x-console.json @@ -60634,8 +60634,8 @@ }, "logs": { "type": "string", - "description": "Certificate generation logs. This will return an empty string if generation did not run, or succeeded.", - "x-example": "HTTP challegne failed." + "description": "Logs from rule verification or certificate generation. Certificate generation logs are prioritized if both are available.", + "x-example": "Verification of DNS records failed with DNS resolver 8.8.8.8. Domain stage.myapp.com does not have DNS record." }, "renewAt": { "type": "string", @@ -60674,7 +60674,7 @@ "deploymentResourceId": "n3u9feiwmf", "deploymentVcsProviderBranch": "main", "status": "verified", - "logs": "HTTP challegne failed.", + "logs": "Verification of DNS records failed with DNS resolver 8.8.8.8. Domain stage.myapp.com does not have DNS record.", "renewAt": "datetime" } }, diff --git a/app/config/specs/open-api3-latest-console.json b/app/config/specs/open-api3-latest-console.json index ae3b98970f..0a3c9395dd 100644 --- a/app/config/specs/open-api3-latest-console.json +++ b/app/config/specs/open-api3-latest-console.json @@ -60634,8 +60634,8 @@ }, "logs": { "type": "string", - "description": "Certificate generation logs. This will return an empty string if generation did not run, or succeeded.", - "x-example": "HTTP challegne failed." + "description": "Logs from rule verification or certificate generation. Certificate generation logs are prioritized if both are available.", + "x-example": "Verification of DNS records failed with DNS resolver 8.8.8.8. Domain stage.myapp.com does not have DNS record." }, "renewAt": { "type": "string", @@ -60674,7 +60674,7 @@ "deploymentResourceId": "n3u9feiwmf", "deploymentVcsProviderBranch": "main", "status": "verified", - "logs": "HTTP challegne failed.", + "logs": "Verification of DNS records failed with DNS resolver 8.8.8.8. Domain stage.myapp.com does not have DNS record.", "renewAt": "datetime" } }, diff --git a/app/config/specs/swagger2-1.8.x-console.json b/app/config/specs/swagger2-1.8.x-console.json index 589a6d57b5..30e9241792 100644 --- a/app/config/specs/swagger2-1.8.x-console.json +++ b/app/config/specs/swagger2-1.8.x-console.json @@ -60568,8 +60568,8 @@ }, "logs": { "type": "string", - "description": "Certificate generation logs. This will return an empty string if generation did not run, or succeeded.", - "x-example": "HTTP challegne failed." + "description": "Logs from rule verification or certificate generation. Certificate generation logs are prioritized if both are available.", + "x-example": "Verification of DNS records failed with DNS resolver 8.8.8.8. Domain stage.myapp.com does not have DNS record." }, "renewAt": { "type": "string", @@ -60608,7 +60608,7 @@ "deploymentResourceId": "n3u9feiwmf", "deploymentVcsProviderBranch": "main", "status": "verified", - "logs": "HTTP challegne failed.", + "logs": "Verification of DNS records failed with DNS resolver 8.8.8.8. Domain stage.myapp.com does not have DNS record.", "renewAt": "datetime" } }, diff --git a/app/config/specs/swagger2-latest-console.json b/app/config/specs/swagger2-latest-console.json index 589a6d57b5..30e9241792 100644 --- a/app/config/specs/swagger2-latest-console.json +++ b/app/config/specs/swagger2-latest-console.json @@ -60568,8 +60568,8 @@ }, "logs": { "type": "string", - "description": "Certificate generation logs. This will return an empty string if generation did not run, or succeeded.", - "x-example": "HTTP challegne failed." + "description": "Logs from rule verification or certificate generation. Certificate generation logs are prioritized if both are available.", + "x-example": "Verification of DNS records failed with DNS resolver 8.8.8.8. Domain stage.myapp.com does not have DNS record." }, "renewAt": { "type": "string", @@ -60608,7 +60608,7 @@ "deploymentResourceId": "n3u9feiwmf", "deploymentVcsProviderBranch": "main", "status": "verified", - "logs": "HTTP challegne failed.", + "logs": "Verification of DNS records failed with DNS resolver 8.8.8.8. Domain stage.myapp.com does not have DNS record.", "renewAt": "datetime" } }, From 3cf8f151c483ed7c11740bc7ab3fb34ba5ec0a1c Mon Sep 17 00:00:00 2001 From: Jake Barnby Date: Wed, 17 Dec 2025 19:19:05 +1300 Subject: [PATCH 107/220] Update versions --- app/config/sdks.php | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/app/config/sdks.php b/app/config/sdks.php index c1cd56784c..78209cc5dd 100644 --- a/app/config/sdks.php +++ b/app/config/sdks.php @@ -262,7 +262,7 @@ return [ [ 'key' => 'nodejs', 'name' => 'Node.js', - 'version' => '21.0.0', + 'version' => '21.1.0', 'url' => 'https://github.com/appwrite/sdk-for-node', 'package' => 'https://www.npmjs.com/package/node-appwrite', 'enabled' => true, @@ -281,7 +281,7 @@ return [ [ 'key' => 'php', 'name' => 'PHP', - 'version' => '19.0.0', + 'version' => '19.1.0', 'url' => 'https://github.com/appwrite/sdk-for-php', 'package' => 'https://packagist.org/packages/appwrite/appwrite', 'enabled' => true, @@ -300,7 +300,7 @@ return [ [ 'key' => 'python', 'name' => 'Python', - 'version' => '14.0.0', + 'version' => '14.1.0', 'url' => 'https://github.com/appwrite/sdk-for-python', 'package' => 'https://pypi.org/project/appwrite/', 'enabled' => true, @@ -319,7 +319,7 @@ return [ [ 'key' => 'ruby', 'name' => 'Ruby', - 'version' => '20.0.0', + 'version' => '20.1.0', 'url' => 'https://github.com/appwrite/sdk-for-ruby', 'package' => 'https://rubygems.org/gems/appwrite', 'enabled' => true, @@ -338,7 +338,7 @@ return [ [ 'key' => 'go', 'name' => 'Go', - 'version' => 'v0.15.0', + 'version' => 'v0.16.0', 'url' => 'https://github.com/appwrite/sdk-for-go', 'package' => 'https://github.com/appwrite/sdk-for-go', 'enabled' => true, @@ -357,7 +357,7 @@ return [ [ 'key' => 'dotnet', 'name' => '.NET', - 'version' => '0.23.0', + 'version' => '0.24.0', 'url' => 'https://github.com/appwrite/sdk-for-dotnet', 'package' => 'https://www.nuget.org/packages/Appwrite', 'enabled' => true, @@ -376,7 +376,7 @@ return [ [ 'key' => 'dart', 'name' => 'Dart', - 'version' => '20.0.0', + 'version' => '20.1.0', 'url' => 'https://github.com/appwrite/sdk-for-dart', 'package' => 'https://pub.dev/packages/dart_appwrite', 'enabled' => true, @@ -395,7 +395,7 @@ return [ [ 'key' => 'kotlin', 'name' => 'Kotlin', - 'version' => '13.0.0', + 'version' => '13.1.0', 'url' => 'https://github.com/appwrite/sdk-for-kotlin', 'package' => 'https://search.maven.org/artifact/io.appwrite/sdk-for-kotlin', 'enabled' => true, @@ -418,7 +418,7 @@ return [ [ 'key' => 'swift', 'name' => 'Swift', - 'version' => '14.0.0', + 'version' => '14.1.0', 'url' => 'https://github.com/appwrite/sdk-for-swift', 'package' => 'https://github.com/appwrite/sdk-for-swift', 'enabled' => true, From 86deab8f6ccc0a646be56a26bf7a3731bd38ee1a Mon Sep 17 00:00:00 2001 From: fogelito Date: Wed, 17 Dec 2025 09:32:59 +0200 Subject: [PATCH 108/220] increase APP_DATABASE_QUERY_MAX_VALUES_WORKER --- app/init/constants.php | 1 + app/worker.php | 2 +- src/Appwrite/Platform/Tasks/ScheduleBase.php | 3 +-- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/init/constants.php b/app/init/constants.php index af5aa7a000..78b8e3a5ae 100644 --- a/app/init/constants.php +++ b/app/init/constants.php @@ -60,6 +60,7 @@ const APP_DATABASE_TIMEOUT_MILLISECONDS_API = 15 * 1000; // 15 seconds const APP_DATABASE_TIMEOUT_MILLISECONDS_WORKER = 300 * 1000; // 5 minutes const APP_DATABASE_TIMEOUT_MILLISECONDS_TASK = 300 * 1000; // 5 minutes const APP_DATABASE_QUERY_MAX_VALUES = 500; +const APP_DATABASE_QUERY_MAX_VALUES_WORKER = 5000; const APP_DATABASE_ENCRYPT_SIZE_MIN = 150; const APP_DATABASE_TXN_TTL_MIN = 60; // 1 minute const APP_DATABASE_TXN_TTL_MAX = 3600; // 1 hour diff --git a/app/worker.php b/app/worker.php index 468408e76d..76f3bb9e8a 100644 --- a/app/worker.php +++ b/app/worker.php @@ -183,7 +183,7 @@ Server::setResource('getLogsDB', function (Group $pools, Cache $cache) { ->setSharedTables(true) ->setNamespace('logsV1') ->setTimeout(APP_DATABASE_TIMEOUT_MILLISECONDS_WORKER) - ->setMaxQueryValues(APP_DATABASE_QUERY_MAX_VALUES); + ->setMaxQueryValues(APP_DATABASE_QUERY_MAX_VALUES_WORKER); // set tenant if ($project !== null && !$project->isEmpty() && $project->getId() !== 'console') { diff --git a/src/Appwrite/Platform/Tasks/ScheduleBase.php b/src/Appwrite/Platform/Tasks/ScheduleBase.php index bcfcffcc98..8ea673703a 100644 --- a/src/Appwrite/Platform/Tasks/ScheduleBase.php +++ b/src/Appwrite/Platform/Tasks/ScheduleBase.php @@ -218,8 +218,7 @@ abstract class ScheduleBase extends Action if (!empty($projectIdsToLoad)) { $projectIdsToLoad = array_values($projectIdsToLoad); - $batchSize = 10_000; - $batchSize = 499; + $batchSize = APP_DATABASE_QUERY_MAX_VALUES_WORKER; $batches = array_chunk($projectIdsToLoad, $batchSize); $projectsLoadStart = microtime(true); From 2e5bea1aee6a647f764f998eba57005d1781c1b3 Mon Sep 17 00:00:00 2001 From: Darshan Date: Wed, 17 Dec 2025 14:26:45 +0530 Subject: [PATCH 109/220] update: email template to be platform agnostic. --- .../locale/templates/email-base-styled.tpl | 14 ++++----- app/controllers/api/account.php | 29 ++++++++++--------- 2 files changed, 23 insertions(+), 20 deletions(-) diff --git a/app/config/locale/templates/email-base-styled.tpl b/app/config/locale/templates/email-base-styled.tpl index 1979d560b5..81964b968f 100644 --- a/app/config/locale/templates/email-base-styled.tpl +++ b/app/config/locale/templates/email-base-styled.tpl @@ -187,7 +187,7 @@ Appwrite logo @@ -225,7 +225,7 @@