Compare commits

...
Author SHA1 Message Date
Khushboo Verma 343ded16a8 Truncate logs to a limit 2025-08-20 17:28:35 +05:30
Matej BačoandGitHub 7eaecd896e Merge pull request #10343 from appwrite/fix-external-dependencies
Fix: Remove external dependnecies (unnessessary)
2025-08-20 11:53:06 +02:00
Matej Bačo ca75ac3722 PR review improvements 2025-08-20 11:32:06 +02:00
Matej Bačo 79a0b6b6c3 Fix during QA 2025-08-20 11:21:21 +02:00
Matej Bačo bd4bb06c7e Remove bunnyCDN and Alpine external dependency 2025-08-20 11:11:39 +02:00
Matej BačoandGitHub e005276fe5 Merge pull request #10338 from appwrite/chore-upgrade-http
Chore: Upgrade HTTP
2025-08-20 10:20:17 +02:00
Matej Bačo 52af439cac Fix backwards comptibility 2025-08-19 16:43:31 +02:00
Matej Bačo 6f5d038340 adjust tests to new domain validator 2025-08-19 14:42:41 +02:00
Matej Bačo 79375ad5b5 Reapply "http fix to double slashes and new domain validator"
This reverts commit 09383f068f.
2025-08-19 13:13:41 +02:00
Matej Bačo 09383f068f Revert "http fix to double slashes and new domain validator"
This reverts commit 8672e6f158.
2025-08-19 13:13:28 +02:00
Matej Bačo 8672e6f158 http fix to double slashes and new domain validator 2025-08-19 13:13:04 +02:00
Jake BarnbyandGitHub d5eaed8873 Merge pull request #10336 from appwrite/database-0.71.15
Databaselib  bump 0.71.15
2025-08-19 21:32:32 +12:00
fogelito 2718deac0f database 0.71.15 2025-08-19 12:09:18 +03:00
Matej BačoandGitHub 84a1d77876 Merge pull request #10332 from appwrite/fix-preview-fonts
Fix: Improve font reliability
2025-08-18 12:22:41 +02:00
Matej Bačo 976427c9a4 Improve fonts 2025-08-18 11:58:45 +02:00
Matej BačoandGitHub 6c46039103 Merge pull request #10331 from appwrite/fix-cicd-tests-sites
Improve sites test for stability
2025-08-18 10:41:23 +02:00
Matej Bačo ad87a085a7 Improve font reliability 2025-08-17 14:13:33 +02:00
Matej Bačo a754763884 formatting fix 2025-08-16 19:08:07 +02:00
Matej Bačo aed97c545b Improve flakyness 2025-08-16 19:03:21 +02:00
Matej Bačo 746a76dc8e Add extensive build logging 2025-08-16 17:11:27 +02:00
Matej Bačo cab422510a Speed-up critical failures in assertEventuelly 2025-08-16 16:59:05 +02:00
Matej Bačo 95e54d0571 Fix tests 2025-08-16 16:12:41 +02:00
Matej Bačo 53772df202 Improve ci/cd logging 2025-08-16 14:14:38 +02:00
Matej BačoandGitHub 78c5d5aeff Merge pull request #10302 from appwrite/chore-remove-logging
Chore: Remove temp logging
2025-08-16 13:07:12 +02:00
Matej Bačo 051b99e9ce Linter fix 2025-08-16 12:49:58 +02:00
Matej BačoandGitHub 2ffdfd10d4 Merge pull request #10328 from appwrite/fix-dynamic-key-expiration
Feat: Increase dynamic API key expiration
2025-08-15 13:02:16 +02:00
Matej Bačo 23bc39254c Increase dynamic API key expiration 2025-08-15 12:29:34 +02:00
Steven NguyenandGitHub bb407a6493 Merge pull request #10317 from appwrite/fix-missing-upsert-event
fix: add missing upsert event
2025-08-14 14:35:03 -07:00
Jake BarnbyandGitHub 405aa7f4ba Merge pull request #10318 from appwrite/fix-catches
Fix uncaught invalid arg
2025-08-14 20:13:10 +12:00
Jake Barnby 8455ded051 Fix events 2025-08-14 19:34:52 +12:00
Jake Barnby b4b0d66af4 Fix test 2025-08-14 19:32:30 +12:00
Jake Barnby 1e9d153110 Fix uncaught invalid arg 2025-08-14 19:22:38 +12:00
Jake Barnby 6043cc2fc9 Add upsert event 2025-08-14 17:34:56 +12:00
Jake BarnbyandGitHub 6a3ea1feec Merge pull request #10310 from appwrite/update-remove-experimental-warnings
chore: remove experiment warnings from bulk methods
2025-08-14 00:15:35 +12:00
Chirag Aggarwal 9860cd46e3 update specs 2025-08-13 17:09:51 +05:30
Jake BarnbyandGitHub 8beb80d5b4 Merge pull request #10312 from appwrite/chore-update-dep
Update package
2025-08-13 22:34:24 +12:00
Jake Barnby 72253f3de2 Update package 2025-08-13 22:11:51 +12:00
Chirag Aggarwal 5f3dc7cb75 chore: add method desc and demo 2025-08-13 15:16:48 +05:30
Chirag Aggarwal a9d3f01485 update specs 2025-08-13 13:39:13 +05:30
Chirag Aggarwal af58d3f1d2 chore: remove experiment warnings from bulk methods 2025-08-13 13:37:00 +05:30
Matej Bačo 13a14d1b05 Remove temp logging 2025-08-12 10:39:50 +02:00
42 changed files with 1452 additions and 1161 deletions
+56
View File
@@ -134,6 +134,14 @@ jobs:
- name: Run General Tests
run: docker compose exec -T appwrite test /usr/src/code/tests/e2e/General --debug
- name: Failure Logs
if: failure()
run: |
echo "=== Appwrite Worker Builds Logs ==="
docker compose logs appwrite-worker-builds
echo "=== OpenRuntimes Executor Logs ==="
docker compose logs openruntimes-executor
e2e_service_test:
name: E2E Service Test
runs-on: ubuntu-latest
@@ -201,6 +209,14 @@ jobs:
-e _APP_DATABASE_SHARED_TABLES_V1 \
appwrite test /usr/src/code/tests/e2e/Services/${{ matrix.service }} --debug --exclude-group devKeys,screenshots
- name: Failure Logs
if: failure()
run: |
echo "=== Appwrite Worker Builds Logs ==="
docker compose logs appwrite-worker-builds
echo "=== OpenRuntimes Executor Logs ==="
docker compose logs openruntimes-executor
e2e_shared_mode_test:
name: E2E Shared Mode Service Test
runs-on: ubuntu-latest
@@ -280,6 +296,14 @@ jobs:
-e _APP_DATABASE_SHARED_TABLES_V1 \
appwrite test /usr/src/code/tests/e2e/Services/${{ matrix.service }} --debug --exclude-group devKeys,screenshots
- name: Failure Logs
if: failure()
run: |
echo "=== Appwrite Worker Builds Logs ==="
docker compose logs appwrite-worker-builds
echo "=== OpenRuntimes Executor Logs ==="
docker compose logs openruntimes-executor
e2e_dev_keys:
name: E2E Service Test (Dev Keys)
runs-on: ubuntu-latest
@@ -313,6 +337,14 @@ jobs:
-e _APP_DATABASE_SHARED_TABLES_V1 \
appwrite test /usr/src/code/tests/e2e/Services/Projects --debug --group=devKeys
- name: Failure Logs
if: failure()
run: |
echo "=== Appwrite Worker Builds Logs ==="
docker compose logs appwrite-worker-builds
echo "=== OpenRuntimes Executor Logs ==="
docker compose logs openruntimes-executor
e2e_dev_keys_shared_mode:
name: E2E Shared Mode Service Test (Dev Keys)
runs-on: ubuntu-latest
@@ -360,6 +392,14 @@ jobs:
-e _APP_DATABASE_SHARED_TABLES_V1 \
appwrite test /usr/src/code/tests/e2e/Services/Projects --debug --group=devKeys
- name: Failure Logs
if: failure()
run: |
echo "=== Appwrite Worker Builds Logs ==="
docker compose logs appwrite-worker-builds
echo "=== OpenRuntimes Executor Logs ==="
docker compose logs openruntimes-executor
e2e_screenshots_keys:
name: E2E Service Test (Site Screenshots)
runs-on: ubuntu-latest
@@ -394,6 +434,14 @@ jobs:
-e _APP_DATABASE_SHARED_TABLES_V1 \
appwrite test /usr/src/code/tests/e2e/Services/Sites --debug --group=screenshots
- name: Failure Logs
if: failure()
run: |
echo "=== Appwrite Worker Builds Logs ==="
docker compose logs appwrite-worker-builds
echo "=== OpenRuntimes Executor Logs ==="
docker compose logs openruntimes-executor
e2e_screenshots_shared_mode:
name: E2E Shared Mode Service Test (Site Screenshots)
runs-on: ubuntu-latest
@@ -441,3 +489,11 @@ jobs:
-e _APP_DATABASE_SHARED_TABLES \
-e _APP_DATABASE_SHARED_TABLES_V1 \
appwrite test /usr/src/code/tests/e2e/Services/Sites --debug --group=screenshots
- name: Failure Logs
if: failure()
run: |
echo "=== Appwrite Worker Builds Logs ==="
docker compose logs appwrite-worker-builds
echo "=== OpenRuntimes Executor Logs ==="
docker compose logs openruntimes-executor
+6 -3
View File
@@ -106,12 +106,15 @@ return [
'create' => [
'$description' => 'This event triggers when a document is created.',
],
'delete' => [
'$description' => 'This event triggers when a document is deleted.'
],
'update' => [
'$description' => 'This event triggers when a document is updated.'
],
'upsert' => [
'$description' => 'This event triggers when a document is upserted.',
],
'delete' => [
'$description' => 'This event triggers when a document is deleted.'
],
],
'indexes' => [
'$model' => Response::MODEL_INDEX,
+11 -9
View File
@@ -4466,6 +4466,7 @@
"methods": [
{
"name": "createDocument",
"desc": "Create document",
"auth": {
"Project": []
},
@@ -4488,7 +4489,8 @@
"model": "#\/components\/schemas\/document"
}
],
"description": "Create a new Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console."
"description": "Create a new Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.",
"demo": "databases\/create-document.md"
}
],
"auth": {
@@ -4665,7 +4667,7 @@
"tags": [
"databases"
],
"description": "**WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.\n\nCreate or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.",
"description": "Create or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.",
"responses": {
"200": {
"description": "Document",
@@ -5203,7 +5205,7 @@
"x-appwrite": {
"method": "listExecutions",
"group": "executions",
"weight": 393,
"weight": 394,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5278,7 +5280,7 @@
"x-appwrite": {
"method": "createExecution",
"group": "executions",
"weight": 391,
"weight": 392,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5393,7 +5395,7 @@
"x-appwrite": {
"method": "getExecution",
"group": "executions",
"weight": 392,
"weight": 393,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5467,7 +5469,7 @@
"x-appwrite": {
"method": "query",
"group": "graphql",
"weight": 307,
"weight": 308,
"cookies": false,
"type": "graphql",
"deprecated": false,
@@ -5519,7 +5521,7 @@
"x-appwrite": {
"method": "mutation",
"group": "graphql",
"weight": 306,
"weight": 307,
"cookies": false,
"type": "graphql",
"deprecated": false,
@@ -5987,7 +5989,7 @@
"x-appwrite": {
"method": "createSubscriber",
"group": "subscribers",
"weight": 353,
"weight": 354,
"cookies": false,
"type": "",
"deprecated": false,
@@ -6070,7 +6072,7 @@
"x-appwrite": {
"method": "deleteSubscriber",
"group": "subscribers",
"weight": 357,
"weight": 358,
"cookies": false,
"type": "",
"deprecated": false,
File diff suppressed because it is too large Load Diff
+114 -110
View File
@@ -7506,6 +7506,7 @@
"methods": [
{
"name": "createDocument",
"desc": "Create document",
"auth": {
"Project": [],
"Session": []
@@ -7529,10 +7530,12 @@
"model": "#\/components\/schemas\/document"
}
],
"description": "Create a new Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console."
"description": "Create a new Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.",
"demo": "databases\/create-document.md"
},
{
"name": "createDocuments",
"desc": "Create documents",
"auth": {
"Project": [],
"Key": []
@@ -7553,7 +7556,8 @@
"model": "#\/components\/schemas\/documentList"
}
],
"description": "**WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.\n\nCreate new Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console."
"description": "Create new Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.",
"demo": "databases\/create-documents.md"
}
],
"auth": {
@@ -7635,7 +7639,7 @@
"tags": [
"databases"
],
"description": "**WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.\n\nCreate or update Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.\n",
"description": "Create or update Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.\n",
"responses": {
"200": {
"description": "Documents List",
@@ -7728,7 +7732,7 @@
"tags": [
"databases"
],
"description": "**WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.\n\nUpdate all documents that match your queries, if no queries are submitted then all documents are updated. You can pass only specific fields to be updated.",
"description": "Update all documents that match your queries, if no queries are submitted then all documents are updated. You can pass only specific fields to be updated.",
"responses": {
"200": {
"description": "Documents List",
@@ -7823,7 +7827,7 @@
"tags": [
"databases"
],
"description": "**WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.\n\nBulk delete documents using queries, if no queries are passed then all documents are deleted.",
"description": "Bulk delete documents using queries, if no queries are passed then all documents are deleted.",
"responses": {
"200": {
"description": "Documents List",
@@ -8012,7 +8016,7 @@
"tags": [
"databases"
],
"description": "**WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.\n\nCreate or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.",
"description": "Create or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.",
"responses": {
"200": {
"description": "Document",
@@ -8925,7 +8929,7 @@
"x-appwrite": {
"method": "list",
"group": "functions",
"weight": 377,
"weight": 378,
"cookies": false,
"type": "",
"deprecated": false,
@@ -8999,7 +9003,7 @@
"x-appwrite": {
"method": "create",
"group": "functions",
"weight": 374,
"weight": 375,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9233,7 +9237,7 @@
"x-appwrite": {
"method": "listRuntimes",
"group": "runtimes",
"weight": 379,
"weight": 380,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9283,7 +9287,7 @@
"x-appwrite": {
"method": "listSpecifications",
"group": "runtimes",
"weight": 380,
"weight": 381,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9334,7 +9338,7 @@
"x-appwrite": {
"method": "get",
"group": "functions",
"weight": 375,
"weight": 376,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9394,7 +9398,7 @@
"x-appwrite": {
"method": "update",
"group": "functions",
"weight": 376,
"weight": 377,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9625,7 +9629,7 @@
"x-appwrite": {
"method": "delete",
"group": "functions",
"weight": 378,
"weight": 379,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9687,7 +9691,7 @@
"x-appwrite": {
"method": "updateFunctionDeployment",
"group": "functions",
"weight": 383,
"weight": 384,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9768,7 +9772,7 @@
"x-appwrite": {
"method": "listDeployments",
"group": "deployments",
"weight": 384,
"weight": 385,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9852,7 +9856,7 @@
"x-appwrite": {
"method": "createDeployment",
"group": "deployments",
"weight": 381,
"weight": 382,
"cookies": false,
"type": "upload",
"deprecated": false,
@@ -9949,7 +9953,7 @@
"x-appwrite": {
"method": "createDuplicateDeployment",
"group": "deployments",
"weight": 389,
"weight": 390,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10035,7 +10039,7 @@
"x-appwrite": {
"method": "createTemplateDeployment",
"group": "deployments",
"weight": 386,
"weight": 387,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10139,7 +10143,7 @@
"x-appwrite": {
"method": "createVcsDeployment",
"group": "deployments",
"weight": 387,
"weight": 388,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10237,7 +10241,7 @@
"x-appwrite": {
"method": "getDeployment",
"group": "deployments",
"weight": 382,
"weight": 383,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10300,7 +10304,7 @@
"x-appwrite": {
"method": "deleteDeployment",
"group": "deployments",
"weight": 385,
"weight": 386,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10365,7 +10369,7 @@
"x-appwrite": {
"method": "getDeploymentDownload",
"group": "deployments",
"weight": 388,
"weight": 389,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -10456,7 +10460,7 @@
"x-appwrite": {
"method": "updateDeploymentStatus",
"group": "deployments",
"weight": 390,
"weight": 391,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10528,7 +10532,7 @@
"x-appwrite": {
"method": "listExecutions",
"group": "executions",
"weight": 393,
"weight": 394,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10605,7 +10609,7 @@
"x-appwrite": {
"method": "createExecution",
"group": "executions",
"weight": 391,
"weight": 392,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10722,7 +10726,7 @@
"x-appwrite": {
"method": "getExecution",
"group": "executions",
"weight": 392,
"weight": 393,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10789,7 +10793,7 @@
"x-appwrite": {
"method": "deleteExecution",
"group": "executions",
"weight": 394,
"weight": 395,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10861,7 +10865,7 @@
"x-appwrite": {
"method": "listVariables",
"group": "variables",
"weight": 399,
"weight": 400,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10921,7 +10925,7 @@
"x-appwrite": {
"method": "createVariable",
"group": "variables",
"weight": 397,
"weight": 398,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11013,7 +11017,7 @@
"x-appwrite": {
"method": "getVariable",
"group": "variables",
"weight": 398,
"weight": 399,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11083,7 +11087,7 @@
"x-appwrite": {
"method": "updateVariable",
"group": "variables",
"weight": 400,
"weight": 401,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11175,7 +11179,7 @@
"x-appwrite": {
"method": "deleteVariable",
"group": "variables",
"weight": 401,
"weight": 402,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11247,7 +11251,7 @@
"x-appwrite": {
"method": "query",
"group": "graphql",
"weight": 307,
"weight": 308,
"cookies": false,
"type": "graphql",
"deprecated": false,
@@ -11301,7 +11305,7 @@
"x-appwrite": {
"method": "mutation",
"group": "graphql",
"weight": 306,
"weight": 307,
"cookies": false,
"type": "graphql",
"deprecated": false,
@@ -13104,7 +13108,7 @@
"x-appwrite": {
"method": "listMessages",
"group": "messages",
"weight": 361,
"weight": 362,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13181,7 +13185,7 @@
"x-appwrite": {
"method": "createEmail",
"group": "messages",
"weight": 358,
"weight": 359,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13326,7 +13330,7 @@
"x-appwrite": {
"method": "updateEmail",
"group": "messages",
"weight": 365,
"weight": 366,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13473,7 +13477,7 @@
"x-appwrite": {
"method": "createPush",
"group": "messages",
"weight": 360,
"weight": 361,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13648,7 +13652,7 @@
"x-appwrite": {
"method": "updatePush",
"group": "messages",
"weight": 367,
"weight": 368,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13827,7 +13831,7 @@
"x-appwrite": {
"method": "createSms",
"group": "messages",
"weight": 359,
"weight": 360,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13937,7 +13941,7 @@
"x-appwrite": {
"method": "updateSms",
"group": "messages",
"weight": 366,
"weight": 367,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14050,7 +14054,7 @@
"x-appwrite": {
"method": "getMessage",
"group": "messages",
"weight": 364,
"weight": 365,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14104,7 +14108,7 @@
"x-appwrite": {
"method": "delete",
"group": "messages",
"weight": 368,
"weight": 369,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14167,7 +14171,7 @@
"x-appwrite": {
"method": "listMessageLogs",
"group": "logs",
"weight": 362,
"weight": 363,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14243,7 +14247,7 @@
"x-appwrite": {
"method": "listTargets",
"group": "messages",
"weight": 363,
"weight": 364,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14319,7 +14323,7 @@
"x-appwrite": {
"method": "listProviders",
"group": "providers",
"weight": 333,
"weight": 334,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14396,7 +14400,7 @@
"x-appwrite": {
"method": "createApnsProvider",
"group": "providers",
"weight": 332,
"weight": 333,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14502,7 +14506,7 @@
"x-appwrite": {
"method": "updateApnsProvider",
"group": "providers",
"weight": 345,
"weight": 346,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14611,7 +14615,7 @@
"x-appwrite": {
"method": "createFcmProvider",
"group": "providers",
"weight": 331,
"weight": 332,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14697,7 +14701,7 @@
"x-appwrite": {
"method": "updateFcmProvider",
"group": "providers",
"weight": 344,
"weight": 345,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14786,7 +14790,7 @@
"x-appwrite": {
"method": "createMailgunProvider",
"group": "providers",
"weight": 323,
"weight": 324,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14902,7 +14906,7 @@
"x-appwrite": {
"method": "updateMailgunProvider",
"group": "providers",
"weight": 336,
"weight": 337,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15021,7 +15025,7 @@
"x-appwrite": {
"method": "createMsg91Provider",
"group": "providers",
"weight": 326,
"weight": 327,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15117,7 +15121,7 @@
"x-appwrite": {
"method": "updateMsg91Provider",
"group": "providers",
"weight": 339,
"weight": 340,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15216,7 +15220,7 @@
"x-appwrite": {
"method": "createSendgridProvider",
"group": "providers",
"weight": 324,
"weight": 325,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15322,7 +15326,7 @@
"x-appwrite": {
"method": "updateSendgridProvider",
"group": "providers",
"weight": 337,
"weight": 338,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15431,7 +15435,7 @@
"x-appwrite": {
"method": "createSmtpProvider",
"group": "providers",
"weight": 325,
"weight": 326,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15575,7 +15579,7 @@
"x-appwrite": {
"method": "updateSmtpProvider",
"group": "providers",
"weight": 338,
"weight": 339,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15721,7 +15725,7 @@
"x-appwrite": {
"method": "createTelesignProvider",
"group": "providers",
"weight": 327,
"weight": 328,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15817,7 +15821,7 @@
"x-appwrite": {
"method": "updateTelesignProvider",
"group": "providers",
"weight": 340,
"weight": 341,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15916,7 +15920,7 @@
"x-appwrite": {
"method": "createTextmagicProvider",
"group": "providers",
"weight": 328,
"weight": 329,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16012,7 +16016,7 @@
"x-appwrite": {
"method": "updateTextmagicProvider",
"group": "providers",
"weight": 341,
"weight": 342,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16111,7 +16115,7 @@
"x-appwrite": {
"method": "createTwilioProvider",
"group": "providers",
"weight": 329,
"weight": 330,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16207,7 +16211,7 @@
"x-appwrite": {
"method": "updateTwilioProvider",
"group": "providers",
"weight": 342,
"weight": 343,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16306,7 +16310,7 @@
"x-appwrite": {
"method": "createVonageProvider",
"group": "providers",
"weight": 330,
"weight": 331,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16402,7 +16406,7 @@
"x-appwrite": {
"method": "updateVonageProvider",
"group": "providers",
"weight": 343,
"weight": 344,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16501,7 +16505,7 @@
"x-appwrite": {
"method": "getProvider",
"group": "providers",
"weight": 335,
"weight": 336,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16555,7 +16559,7 @@
"x-appwrite": {
"method": "deleteProvider",
"group": "providers",
"weight": 346,
"weight": 347,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16618,7 +16622,7 @@
"x-appwrite": {
"method": "listProviderLogs",
"group": "providers",
"weight": 334,
"weight": 335,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16694,7 +16698,7 @@
"x-appwrite": {
"method": "listSubscriberLogs",
"group": "subscribers",
"weight": 355,
"weight": 356,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16770,7 +16774,7 @@
"x-appwrite": {
"method": "listTopics",
"group": "topics",
"weight": 348,
"weight": 349,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16845,7 +16849,7 @@
"x-appwrite": {
"method": "createTopic",
"group": "topics",
"weight": 347,
"weight": 348,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16929,7 +16933,7 @@
"x-appwrite": {
"method": "getTopic",
"group": "topics",
"weight": 350,
"weight": 351,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16990,7 +16994,7 @@
"x-appwrite": {
"method": "updateTopic",
"group": "topics",
"weight": 351,
"weight": 352,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17068,7 +17072,7 @@
"x-appwrite": {
"method": "deleteTopic",
"group": "topics",
"weight": 352,
"weight": 353,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17131,7 +17135,7 @@
"x-appwrite": {
"method": "listTopicLogs",
"group": "topics",
"weight": 349,
"weight": 350,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17207,7 +17211,7 @@
"x-appwrite": {
"method": "listSubscribers",
"group": "subscribers",
"weight": 354,
"weight": 355,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17292,7 +17296,7 @@
"x-appwrite": {
"method": "createSubscriber",
"group": "subscribers",
"weight": 353,
"weight": 354,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17384,7 +17388,7 @@
"x-appwrite": {
"method": "getSubscriber",
"group": "subscribers",
"weight": 356,
"weight": 357,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17448,7 +17452,7 @@
"x-appwrite": {
"method": "deleteSubscriber",
"group": "subscribers",
"weight": 357,
"weight": 358,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17525,7 +17529,7 @@
"x-appwrite": {
"method": "list",
"group": "sites",
"weight": 406,
"weight": 407,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17596,7 +17600,7 @@
"x-appwrite": {
"method": "create",
"group": "sites",
"weight": 404,
"weight": 405,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17846,7 +17850,7 @@
"x-appwrite": {
"method": "listFrameworks",
"group": "frameworks",
"weight": 409,
"weight": 410,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17896,7 +17900,7 @@
"x-appwrite": {
"method": "listSpecifications",
"group": "frameworks",
"weight": 432,
"weight": 433,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17947,7 +17951,7 @@
"x-appwrite": {
"method": "get",
"group": "sites",
"weight": 405,
"weight": 406,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18007,7 +18011,7 @@
"x-appwrite": {
"method": "update",
"group": "sites",
"weight": 407,
"weight": 408,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18253,7 +18257,7 @@
"x-appwrite": {
"method": "delete",
"group": "sites",
"weight": 408,
"weight": 409,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18315,7 +18319,7 @@
"x-appwrite": {
"method": "updateSiteDeployment",
"group": "sites",
"weight": 415,
"weight": 416,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18396,7 +18400,7 @@
"x-appwrite": {
"method": "listDeployments",
"group": "deployments",
"weight": 414,
"weight": 415,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18480,7 +18484,7 @@
"x-appwrite": {
"method": "createDeployment",
"group": "deployments",
"weight": 410,
"weight": 411,
"cookies": false,
"type": "upload",
"deprecated": false,
@@ -18582,7 +18586,7 @@
"x-appwrite": {
"method": "createDuplicateDeployment",
"group": "deployments",
"weight": 418,
"weight": 419,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18663,7 +18667,7 @@
"x-appwrite": {
"method": "createTemplateDeployment",
"group": "deployments",
"weight": 411,
"weight": 412,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18767,7 +18771,7 @@
"x-appwrite": {
"method": "createVcsDeployment",
"group": "deployments",
"weight": 412,
"weight": 413,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18866,7 +18870,7 @@
"x-appwrite": {
"method": "getDeployment",
"group": "deployments",
"weight": 413,
"weight": 414,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18929,7 +18933,7 @@
"x-appwrite": {
"method": "deleteDeployment",
"group": "deployments",
"weight": 416,
"weight": 417,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18994,7 +18998,7 @@
"x-appwrite": {
"method": "getDeploymentDownload",
"group": "deployments",
"weight": 417,
"weight": 418,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -19085,7 +19089,7 @@
"x-appwrite": {
"method": "updateDeploymentStatus",
"group": "deployments",
"weight": 419,
"weight": 420,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19157,7 +19161,7 @@
"x-appwrite": {
"method": "listLogs",
"group": "logs",
"weight": 421,
"weight": 422,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19229,7 +19233,7 @@
"x-appwrite": {
"method": "getLog",
"group": "logs",
"weight": 420,
"weight": 421,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19292,7 +19296,7 @@
"x-appwrite": {
"method": "deleteLog",
"group": "logs",
"weight": 422,
"weight": 423,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19364,7 +19368,7 @@
"x-appwrite": {
"method": "listVariables",
"group": "variables",
"weight": 425,
"weight": 426,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19424,7 +19428,7 @@
"x-appwrite": {
"method": "createVariable",
"group": "variables",
"weight": 423,
"weight": 424,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19516,7 +19520,7 @@
"x-appwrite": {
"method": "getVariable",
"group": "variables",
"weight": 424,
"weight": 425,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19586,7 +19590,7 @@
"x-appwrite": {
"method": "updateVariable",
"group": "variables",
"weight": 426,
"weight": 427,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19678,7 +19682,7 @@
"x-appwrite": {
"method": "deleteVariable",
"group": "variables",
"weight": 427,
"weight": 428,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22073,7 +22077,7 @@
"x-appwrite": {
"method": "list",
"group": "files",
"weight": 440,
"weight": 441,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22154,7 +22158,7 @@
"x-appwrite": {
"method": "createFileToken",
"group": "files",
"weight": 438,
"weight": 439,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22244,7 +22248,7 @@
"x-appwrite": {
"method": "get",
"group": "tokens",
"weight": 439,
"weight": 440,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22305,7 +22309,7 @@
"x-appwrite": {
"method": "update",
"group": "tokens",
"weight": 441,
"weight": 442,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22376,7 +22380,7 @@
"x-appwrite": {
"method": "delete",
"group": "tokens",
"weight": 442,
"weight": 443,
"cookies": false,
"type": "",
"deprecated": false,
+11 -9
View File
@@ -4466,6 +4466,7 @@
"methods": [
{
"name": "createDocument",
"desc": "Create document",
"auth": {
"Project": []
},
@@ -4488,7 +4489,8 @@
"model": "#\/components\/schemas\/document"
}
],
"description": "Create a new Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console."
"description": "Create a new Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.",
"demo": "databases\/create-document.md"
}
],
"auth": {
@@ -4665,7 +4667,7 @@
"tags": [
"databases"
],
"description": "**WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.\n\nCreate or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.",
"description": "Create or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.",
"responses": {
"200": {
"description": "Document",
@@ -5203,7 +5205,7 @@
"x-appwrite": {
"method": "listExecutions",
"group": "executions",
"weight": 393,
"weight": 394,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5278,7 +5280,7 @@
"x-appwrite": {
"method": "createExecution",
"group": "executions",
"weight": 391,
"weight": 392,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5393,7 +5395,7 @@
"x-appwrite": {
"method": "getExecution",
"group": "executions",
"weight": 392,
"weight": 393,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5467,7 +5469,7 @@
"x-appwrite": {
"method": "query",
"group": "graphql",
"weight": 307,
"weight": 308,
"cookies": false,
"type": "graphql",
"deprecated": false,
@@ -5519,7 +5521,7 @@
"x-appwrite": {
"method": "mutation",
"group": "graphql",
"weight": 306,
"weight": 307,
"cookies": false,
"type": "graphql",
"deprecated": false,
@@ -5987,7 +5989,7 @@
"x-appwrite": {
"method": "createSubscriber",
"group": "subscribers",
"weight": 353,
"weight": 354,
"cookies": false,
"type": "",
"deprecated": false,
@@ -6070,7 +6072,7 @@
"x-appwrite": {
"method": "deleteSubscriber",
"group": "subscribers",
"weight": 357,
"weight": 358,
"cookies": false,
"type": "",
"deprecated": false,
File diff suppressed because it is too large Load Diff
+114 -110
View File
@@ -7506,6 +7506,7 @@
"methods": [
{
"name": "createDocument",
"desc": "Create document",
"auth": {
"Project": [],
"Session": []
@@ -7529,10 +7530,12 @@
"model": "#\/components\/schemas\/document"
}
],
"description": "Create a new Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console."
"description": "Create a new Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.",
"demo": "databases\/create-document.md"
},
{
"name": "createDocuments",
"desc": "Create documents",
"auth": {
"Project": [],
"Key": []
@@ -7553,7 +7556,8 @@
"model": "#\/components\/schemas\/documentList"
}
],
"description": "**WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.\n\nCreate new Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console."
"description": "Create new Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.",
"demo": "databases\/create-documents.md"
}
],
"auth": {
@@ -7635,7 +7639,7 @@
"tags": [
"databases"
],
"description": "**WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.\n\nCreate or update Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.\n",
"description": "Create or update Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.\n",
"responses": {
"200": {
"description": "Documents List",
@@ -7728,7 +7732,7 @@
"tags": [
"databases"
],
"description": "**WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.\n\nUpdate all documents that match your queries, if no queries are submitted then all documents are updated. You can pass only specific fields to be updated.",
"description": "Update all documents that match your queries, if no queries are submitted then all documents are updated. You can pass only specific fields to be updated.",
"responses": {
"200": {
"description": "Documents List",
@@ -7823,7 +7827,7 @@
"tags": [
"databases"
],
"description": "**WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.\n\nBulk delete documents using queries, if no queries are passed then all documents are deleted.",
"description": "Bulk delete documents using queries, if no queries are passed then all documents are deleted.",
"responses": {
"200": {
"description": "Documents List",
@@ -8012,7 +8016,7 @@
"tags": [
"databases"
],
"description": "**WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.\n\nCreate or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.",
"description": "Create or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.",
"responses": {
"200": {
"description": "Document",
@@ -8925,7 +8929,7 @@
"x-appwrite": {
"method": "list",
"group": "functions",
"weight": 377,
"weight": 378,
"cookies": false,
"type": "",
"deprecated": false,
@@ -8999,7 +9003,7 @@
"x-appwrite": {
"method": "create",
"group": "functions",
"weight": 374,
"weight": 375,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9233,7 +9237,7 @@
"x-appwrite": {
"method": "listRuntimes",
"group": "runtimes",
"weight": 379,
"weight": 380,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9283,7 +9287,7 @@
"x-appwrite": {
"method": "listSpecifications",
"group": "runtimes",
"weight": 380,
"weight": 381,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9334,7 +9338,7 @@
"x-appwrite": {
"method": "get",
"group": "functions",
"weight": 375,
"weight": 376,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9394,7 +9398,7 @@
"x-appwrite": {
"method": "update",
"group": "functions",
"weight": 376,
"weight": 377,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9625,7 +9629,7 @@
"x-appwrite": {
"method": "delete",
"group": "functions",
"weight": 378,
"weight": 379,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9687,7 +9691,7 @@
"x-appwrite": {
"method": "updateFunctionDeployment",
"group": "functions",
"weight": 383,
"weight": 384,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9768,7 +9772,7 @@
"x-appwrite": {
"method": "listDeployments",
"group": "deployments",
"weight": 384,
"weight": 385,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9852,7 +9856,7 @@
"x-appwrite": {
"method": "createDeployment",
"group": "deployments",
"weight": 381,
"weight": 382,
"cookies": false,
"type": "upload",
"deprecated": false,
@@ -9949,7 +9953,7 @@
"x-appwrite": {
"method": "createDuplicateDeployment",
"group": "deployments",
"weight": 389,
"weight": 390,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10035,7 +10039,7 @@
"x-appwrite": {
"method": "createTemplateDeployment",
"group": "deployments",
"weight": 386,
"weight": 387,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10139,7 +10143,7 @@
"x-appwrite": {
"method": "createVcsDeployment",
"group": "deployments",
"weight": 387,
"weight": 388,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10237,7 +10241,7 @@
"x-appwrite": {
"method": "getDeployment",
"group": "deployments",
"weight": 382,
"weight": 383,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10300,7 +10304,7 @@
"x-appwrite": {
"method": "deleteDeployment",
"group": "deployments",
"weight": 385,
"weight": 386,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10365,7 +10369,7 @@
"x-appwrite": {
"method": "getDeploymentDownload",
"group": "deployments",
"weight": 388,
"weight": 389,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -10456,7 +10460,7 @@
"x-appwrite": {
"method": "updateDeploymentStatus",
"group": "deployments",
"weight": 390,
"weight": 391,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10528,7 +10532,7 @@
"x-appwrite": {
"method": "listExecutions",
"group": "executions",
"weight": 393,
"weight": 394,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10605,7 +10609,7 @@
"x-appwrite": {
"method": "createExecution",
"group": "executions",
"weight": 391,
"weight": 392,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10722,7 +10726,7 @@
"x-appwrite": {
"method": "getExecution",
"group": "executions",
"weight": 392,
"weight": 393,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10789,7 +10793,7 @@
"x-appwrite": {
"method": "deleteExecution",
"group": "executions",
"weight": 394,
"weight": 395,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10861,7 +10865,7 @@
"x-appwrite": {
"method": "listVariables",
"group": "variables",
"weight": 399,
"weight": 400,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10921,7 +10925,7 @@
"x-appwrite": {
"method": "createVariable",
"group": "variables",
"weight": 397,
"weight": 398,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11013,7 +11017,7 @@
"x-appwrite": {
"method": "getVariable",
"group": "variables",
"weight": 398,
"weight": 399,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11083,7 +11087,7 @@
"x-appwrite": {
"method": "updateVariable",
"group": "variables",
"weight": 400,
"weight": 401,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11175,7 +11179,7 @@
"x-appwrite": {
"method": "deleteVariable",
"group": "variables",
"weight": 401,
"weight": 402,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11247,7 +11251,7 @@
"x-appwrite": {
"method": "query",
"group": "graphql",
"weight": 307,
"weight": 308,
"cookies": false,
"type": "graphql",
"deprecated": false,
@@ -11301,7 +11305,7 @@
"x-appwrite": {
"method": "mutation",
"group": "graphql",
"weight": 306,
"weight": 307,
"cookies": false,
"type": "graphql",
"deprecated": false,
@@ -13104,7 +13108,7 @@
"x-appwrite": {
"method": "listMessages",
"group": "messages",
"weight": 361,
"weight": 362,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13181,7 +13185,7 @@
"x-appwrite": {
"method": "createEmail",
"group": "messages",
"weight": 358,
"weight": 359,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13326,7 +13330,7 @@
"x-appwrite": {
"method": "updateEmail",
"group": "messages",
"weight": 365,
"weight": 366,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13473,7 +13477,7 @@
"x-appwrite": {
"method": "createPush",
"group": "messages",
"weight": 360,
"weight": 361,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13648,7 +13652,7 @@
"x-appwrite": {
"method": "updatePush",
"group": "messages",
"weight": 367,
"weight": 368,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13827,7 +13831,7 @@
"x-appwrite": {
"method": "createSms",
"group": "messages",
"weight": 359,
"weight": 360,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13937,7 +13941,7 @@
"x-appwrite": {
"method": "updateSms",
"group": "messages",
"weight": 366,
"weight": 367,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14050,7 +14054,7 @@
"x-appwrite": {
"method": "getMessage",
"group": "messages",
"weight": 364,
"weight": 365,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14104,7 +14108,7 @@
"x-appwrite": {
"method": "delete",
"group": "messages",
"weight": 368,
"weight": 369,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14167,7 +14171,7 @@
"x-appwrite": {
"method": "listMessageLogs",
"group": "logs",
"weight": 362,
"weight": 363,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14243,7 +14247,7 @@
"x-appwrite": {
"method": "listTargets",
"group": "messages",
"weight": 363,
"weight": 364,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14319,7 +14323,7 @@
"x-appwrite": {
"method": "listProviders",
"group": "providers",
"weight": 333,
"weight": 334,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14396,7 +14400,7 @@
"x-appwrite": {
"method": "createApnsProvider",
"group": "providers",
"weight": 332,
"weight": 333,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14502,7 +14506,7 @@
"x-appwrite": {
"method": "updateApnsProvider",
"group": "providers",
"weight": 345,
"weight": 346,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14611,7 +14615,7 @@
"x-appwrite": {
"method": "createFcmProvider",
"group": "providers",
"weight": 331,
"weight": 332,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14697,7 +14701,7 @@
"x-appwrite": {
"method": "updateFcmProvider",
"group": "providers",
"weight": 344,
"weight": 345,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14786,7 +14790,7 @@
"x-appwrite": {
"method": "createMailgunProvider",
"group": "providers",
"weight": 323,
"weight": 324,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14902,7 +14906,7 @@
"x-appwrite": {
"method": "updateMailgunProvider",
"group": "providers",
"weight": 336,
"weight": 337,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15021,7 +15025,7 @@
"x-appwrite": {
"method": "createMsg91Provider",
"group": "providers",
"weight": 326,
"weight": 327,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15117,7 +15121,7 @@
"x-appwrite": {
"method": "updateMsg91Provider",
"group": "providers",
"weight": 339,
"weight": 340,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15216,7 +15220,7 @@
"x-appwrite": {
"method": "createSendgridProvider",
"group": "providers",
"weight": 324,
"weight": 325,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15322,7 +15326,7 @@
"x-appwrite": {
"method": "updateSendgridProvider",
"group": "providers",
"weight": 337,
"weight": 338,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15431,7 +15435,7 @@
"x-appwrite": {
"method": "createSmtpProvider",
"group": "providers",
"weight": 325,
"weight": 326,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15575,7 +15579,7 @@
"x-appwrite": {
"method": "updateSmtpProvider",
"group": "providers",
"weight": 338,
"weight": 339,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15721,7 +15725,7 @@
"x-appwrite": {
"method": "createTelesignProvider",
"group": "providers",
"weight": 327,
"weight": 328,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15817,7 +15821,7 @@
"x-appwrite": {
"method": "updateTelesignProvider",
"group": "providers",
"weight": 340,
"weight": 341,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15916,7 +15920,7 @@
"x-appwrite": {
"method": "createTextmagicProvider",
"group": "providers",
"weight": 328,
"weight": 329,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16012,7 +16016,7 @@
"x-appwrite": {
"method": "updateTextmagicProvider",
"group": "providers",
"weight": 341,
"weight": 342,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16111,7 +16115,7 @@
"x-appwrite": {
"method": "createTwilioProvider",
"group": "providers",
"weight": 329,
"weight": 330,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16207,7 +16211,7 @@
"x-appwrite": {
"method": "updateTwilioProvider",
"group": "providers",
"weight": 342,
"weight": 343,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16306,7 +16310,7 @@
"x-appwrite": {
"method": "createVonageProvider",
"group": "providers",
"weight": 330,
"weight": 331,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16402,7 +16406,7 @@
"x-appwrite": {
"method": "updateVonageProvider",
"group": "providers",
"weight": 343,
"weight": 344,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16501,7 +16505,7 @@
"x-appwrite": {
"method": "getProvider",
"group": "providers",
"weight": 335,
"weight": 336,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16555,7 +16559,7 @@
"x-appwrite": {
"method": "deleteProvider",
"group": "providers",
"weight": 346,
"weight": 347,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16618,7 +16622,7 @@
"x-appwrite": {
"method": "listProviderLogs",
"group": "providers",
"weight": 334,
"weight": 335,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16694,7 +16698,7 @@
"x-appwrite": {
"method": "listSubscriberLogs",
"group": "subscribers",
"weight": 355,
"weight": 356,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16770,7 +16774,7 @@
"x-appwrite": {
"method": "listTopics",
"group": "topics",
"weight": 348,
"weight": 349,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16845,7 +16849,7 @@
"x-appwrite": {
"method": "createTopic",
"group": "topics",
"weight": 347,
"weight": 348,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16929,7 +16933,7 @@
"x-appwrite": {
"method": "getTopic",
"group": "topics",
"weight": 350,
"weight": 351,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16990,7 +16994,7 @@
"x-appwrite": {
"method": "updateTopic",
"group": "topics",
"weight": 351,
"weight": 352,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17068,7 +17072,7 @@
"x-appwrite": {
"method": "deleteTopic",
"group": "topics",
"weight": 352,
"weight": 353,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17131,7 +17135,7 @@
"x-appwrite": {
"method": "listTopicLogs",
"group": "topics",
"weight": 349,
"weight": 350,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17207,7 +17211,7 @@
"x-appwrite": {
"method": "listSubscribers",
"group": "subscribers",
"weight": 354,
"weight": 355,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17292,7 +17296,7 @@
"x-appwrite": {
"method": "createSubscriber",
"group": "subscribers",
"weight": 353,
"weight": 354,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17384,7 +17388,7 @@
"x-appwrite": {
"method": "getSubscriber",
"group": "subscribers",
"weight": 356,
"weight": 357,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17448,7 +17452,7 @@
"x-appwrite": {
"method": "deleteSubscriber",
"group": "subscribers",
"weight": 357,
"weight": 358,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17525,7 +17529,7 @@
"x-appwrite": {
"method": "list",
"group": "sites",
"weight": 406,
"weight": 407,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17596,7 +17600,7 @@
"x-appwrite": {
"method": "create",
"group": "sites",
"weight": 404,
"weight": 405,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17846,7 +17850,7 @@
"x-appwrite": {
"method": "listFrameworks",
"group": "frameworks",
"weight": 409,
"weight": 410,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17896,7 +17900,7 @@
"x-appwrite": {
"method": "listSpecifications",
"group": "frameworks",
"weight": 432,
"weight": 433,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17947,7 +17951,7 @@
"x-appwrite": {
"method": "get",
"group": "sites",
"weight": 405,
"weight": 406,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18007,7 +18011,7 @@
"x-appwrite": {
"method": "update",
"group": "sites",
"weight": 407,
"weight": 408,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18253,7 +18257,7 @@
"x-appwrite": {
"method": "delete",
"group": "sites",
"weight": 408,
"weight": 409,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18315,7 +18319,7 @@
"x-appwrite": {
"method": "updateSiteDeployment",
"group": "sites",
"weight": 415,
"weight": 416,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18396,7 +18400,7 @@
"x-appwrite": {
"method": "listDeployments",
"group": "deployments",
"weight": 414,
"weight": 415,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18480,7 +18484,7 @@
"x-appwrite": {
"method": "createDeployment",
"group": "deployments",
"weight": 410,
"weight": 411,
"cookies": false,
"type": "upload",
"deprecated": false,
@@ -18582,7 +18586,7 @@
"x-appwrite": {
"method": "createDuplicateDeployment",
"group": "deployments",
"weight": 418,
"weight": 419,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18663,7 +18667,7 @@
"x-appwrite": {
"method": "createTemplateDeployment",
"group": "deployments",
"weight": 411,
"weight": 412,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18767,7 +18771,7 @@
"x-appwrite": {
"method": "createVcsDeployment",
"group": "deployments",
"weight": 412,
"weight": 413,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18866,7 +18870,7 @@
"x-appwrite": {
"method": "getDeployment",
"group": "deployments",
"weight": 413,
"weight": 414,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18929,7 +18933,7 @@
"x-appwrite": {
"method": "deleteDeployment",
"group": "deployments",
"weight": 416,
"weight": 417,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18994,7 +18998,7 @@
"x-appwrite": {
"method": "getDeploymentDownload",
"group": "deployments",
"weight": 417,
"weight": 418,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -19085,7 +19089,7 @@
"x-appwrite": {
"method": "updateDeploymentStatus",
"group": "deployments",
"weight": 419,
"weight": 420,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19157,7 +19161,7 @@
"x-appwrite": {
"method": "listLogs",
"group": "logs",
"weight": 421,
"weight": 422,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19229,7 +19233,7 @@
"x-appwrite": {
"method": "getLog",
"group": "logs",
"weight": 420,
"weight": 421,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19292,7 +19296,7 @@
"x-appwrite": {
"method": "deleteLog",
"group": "logs",
"weight": 422,
"weight": 423,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19364,7 +19368,7 @@
"x-appwrite": {
"method": "listVariables",
"group": "variables",
"weight": 425,
"weight": 426,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19424,7 +19428,7 @@
"x-appwrite": {
"method": "createVariable",
"group": "variables",
"weight": 423,
"weight": 424,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19516,7 +19520,7 @@
"x-appwrite": {
"method": "getVariable",
"group": "variables",
"weight": 424,
"weight": 425,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19586,7 +19590,7 @@
"x-appwrite": {
"method": "updateVariable",
"group": "variables",
"weight": 426,
"weight": 427,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19678,7 +19682,7 @@
"x-appwrite": {
"method": "deleteVariable",
"group": "variables",
"weight": 427,
"weight": 428,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22073,7 +22077,7 @@
"x-appwrite": {
"method": "list",
"group": "files",
"weight": 440,
"weight": 441,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22154,7 +22158,7 @@
"x-appwrite": {
"method": "createFileToken",
"group": "files",
"weight": 438,
"weight": 439,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22244,7 +22248,7 @@
"x-appwrite": {
"method": "get",
"group": "tokens",
"weight": 439,
"weight": 440,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22305,7 +22309,7 @@
"x-appwrite": {
"method": "update",
"group": "tokens",
"weight": 441,
"weight": 442,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22376,7 +22380,7 @@
"x-appwrite": {
"method": "delete",
"group": "tokens",
"weight": 442,
"weight": 443,
"cookies": false,
"type": "",
"deprecated": false,
+8 -8
View File
@@ -4798,7 +4798,7 @@
"tags": [
"databases"
],
"description": "**WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.\n\nCreate or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.",
"description": "Create or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.",
"responses": {
"200": {
"description": "Document",
@@ -5303,7 +5303,7 @@
"x-appwrite": {
"method": "listExecutions",
"group": "executions",
"weight": 393,
"weight": 394,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5376,7 +5376,7 @@
"x-appwrite": {
"method": "createExecution",
"group": "executions",
"weight": 391,
"weight": 392,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5492,7 +5492,7 @@
"x-appwrite": {
"method": "getExecution",
"group": "executions",
"weight": 392,
"weight": 393,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5563,7 +5563,7 @@
"x-appwrite": {
"method": "query",
"group": "graphql",
"weight": 307,
"weight": 308,
"cookies": false,
"type": "graphql",
"deprecated": false,
@@ -5636,7 +5636,7 @@
"x-appwrite": {
"method": "mutation",
"group": "graphql",
"weight": 306,
"weight": 307,
"cookies": false,
"type": "graphql",
"deprecated": false,
@@ -6117,7 +6117,7 @@
"x-appwrite": {
"method": "createSubscriber",
"group": "subscribers",
"weight": 353,
"weight": 354,
"cookies": false,
"type": "",
"deprecated": false,
@@ -6201,7 +6201,7 @@
"x-appwrite": {
"method": "deleteSubscriber",
"group": "subscribers",
"weight": 357,
"weight": 358,
"cookies": false,
"type": "",
"deprecated": false,
File diff suppressed because it is too large Load Diff
+109 -109
View File
@@ -7663,7 +7663,7 @@
"model": "#\/definitions\/documentList"
}
],
"description": "**WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.\n\nCreate new Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console."
"description": "Create new Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console."
}
],
"auth": {
@@ -7749,7 +7749,7 @@
"tags": [
"databases"
],
"description": "**WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.\n\nCreate or update Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.\n",
"description": "Create or update Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.\n",
"responses": {
"200": {
"description": "Documents List",
@@ -7839,7 +7839,7 @@
"tags": [
"databases"
],
"description": "**WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.\n\nUpdate all documents that match your queries, if no queries are submitted then all documents are updated. You can pass only specific fields to be updated.",
"description": "Update all documents that match your queries, if no queries are submitted then all documents are updated. You can pass only specific fields to be updated.",
"responses": {
"200": {
"description": "Documents List",
@@ -7932,7 +7932,7 @@
"tags": [
"databases"
],
"description": "**WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.\n\nBulk delete documents using queries, if no queries are passed then all documents are deleted.",
"description": "Bulk delete documents using queries, if no queries are passed then all documents are deleted.",
"responses": {
"200": {
"description": "Documents List",
@@ -8110,7 +8110,7 @@
"tags": [
"databases"
],
"description": "**WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.\n\nCreate or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.",
"description": "Create or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.",
"responses": {
"200": {
"description": "Document",
@@ -8978,7 +8978,7 @@
"x-appwrite": {
"method": "list",
"group": "functions",
"weight": 377,
"weight": 378,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9051,7 +9051,7 @@
"x-appwrite": {
"method": "create",
"group": "functions",
"weight": 374,
"weight": 375,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9303,7 +9303,7 @@
"x-appwrite": {
"method": "listRuntimes",
"group": "runtimes",
"weight": 379,
"weight": 380,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9353,7 +9353,7 @@
"x-appwrite": {
"method": "listSpecifications",
"group": "runtimes",
"weight": 380,
"weight": 381,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9404,7 +9404,7 @@
"x-appwrite": {
"method": "get",
"group": "functions",
"weight": 375,
"weight": 376,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9464,7 +9464,7 @@
"x-appwrite": {
"method": "update",
"group": "functions",
"weight": 376,
"weight": 377,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9712,7 +9712,7 @@
"x-appwrite": {
"method": "delete",
"group": "functions",
"weight": 378,
"weight": 379,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9774,7 +9774,7 @@
"x-appwrite": {
"method": "updateFunctionDeployment",
"group": "functions",
"weight": 383,
"weight": 384,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9852,7 +9852,7 @@
"x-appwrite": {
"method": "listDeployments",
"group": "deployments",
"weight": 384,
"weight": 385,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9933,7 +9933,7 @@
"x-appwrite": {
"method": "createDeployment",
"group": "deployments",
"weight": 381,
"weight": 382,
"cookies": false,
"type": "upload",
"deprecated": false,
@@ -10026,7 +10026,7 @@
"x-appwrite": {
"method": "createDuplicateDeployment",
"group": "deployments",
"weight": 389,
"weight": 390,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10112,7 +10112,7 @@
"x-appwrite": {
"method": "createTemplateDeployment",
"group": "deployments",
"weight": 386,
"weight": 387,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10219,7 +10219,7 @@
"x-appwrite": {
"method": "createVcsDeployment",
"group": "deployments",
"weight": 387,
"weight": 388,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10316,7 +10316,7 @@
"x-appwrite": {
"method": "getDeployment",
"group": "deployments",
"weight": 382,
"weight": 383,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10379,7 +10379,7 @@
"x-appwrite": {
"method": "deleteDeployment",
"group": "deployments",
"weight": 385,
"weight": 386,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10447,7 +10447,7 @@
"x-appwrite": {
"method": "getDeploymentDownload",
"group": "deployments",
"weight": 388,
"weight": 389,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -10533,7 +10533,7 @@
"x-appwrite": {
"method": "updateDeploymentStatus",
"group": "deployments",
"weight": 390,
"weight": 391,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10601,7 +10601,7 @@
"x-appwrite": {
"method": "listExecutions",
"group": "executions",
"weight": 393,
"weight": 394,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10676,7 +10676,7 @@
"x-appwrite": {
"method": "createExecution",
"group": "executions",
"weight": 391,
"weight": 392,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10794,7 +10794,7 @@
"x-appwrite": {
"method": "getExecution",
"group": "executions",
"weight": 392,
"weight": 393,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10860,7 +10860,7 @@
"x-appwrite": {
"method": "deleteExecution",
"group": "executions",
"weight": 394,
"weight": 395,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10928,7 +10928,7 @@
"x-appwrite": {
"method": "listVariables",
"group": "variables",
"weight": 399,
"weight": 400,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10988,7 +10988,7 @@
"x-appwrite": {
"method": "createVariable",
"group": "variables",
"weight": 397,
"weight": 398,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11079,7 +11079,7 @@
"x-appwrite": {
"method": "getVariable",
"group": "variables",
"weight": 398,
"weight": 399,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11147,7 +11147,7 @@
"x-appwrite": {
"method": "updateVariable",
"group": "variables",
"weight": 400,
"weight": 401,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11240,7 +11240,7 @@
"x-appwrite": {
"method": "deleteVariable",
"group": "variables",
"weight": 401,
"weight": 402,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11310,7 +11310,7 @@
"x-appwrite": {
"method": "query",
"group": "graphql",
"weight": 307,
"weight": 308,
"cookies": false,
"type": "graphql",
"deprecated": false,
@@ -11385,7 +11385,7 @@
"x-appwrite": {
"method": "mutation",
"group": "graphql",
"weight": 306,
"weight": 307,
"cookies": false,
"type": "graphql",
"deprecated": false,
@@ -13167,7 +13167,7 @@
"x-appwrite": {
"method": "listMessages",
"group": "messages",
"weight": 361,
"weight": 362,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13243,7 +13243,7 @@
"x-appwrite": {
"method": "createEmail",
"group": "messages",
"weight": 358,
"weight": 359,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13402,7 +13402,7 @@
"x-appwrite": {
"method": "updateEmail",
"group": "messages",
"weight": 365,
"weight": 366,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13558,7 +13558,7 @@
"x-appwrite": {
"method": "createPush",
"group": "messages",
"weight": 360,
"weight": 361,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13754,7 +13754,7 @@
"x-appwrite": {
"method": "updatePush",
"group": "messages",
"weight": 367,
"weight": 368,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13949,7 +13949,7 @@
"x-appwrite": {
"method": "createSms",
"group": "messages",
"weight": 359,
"weight": 360,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14068,7 +14068,7 @@
"x-appwrite": {
"method": "updateSms",
"group": "messages",
"weight": 366,
"weight": 367,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14183,7 +14183,7 @@
"x-appwrite": {
"method": "getMessage",
"group": "messages",
"weight": 364,
"weight": 365,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14239,7 +14239,7 @@
"x-appwrite": {
"method": "delete",
"group": "messages",
"weight": 368,
"weight": 369,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14300,7 +14300,7 @@
"x-appwrite": {
"method": "listMessageLogs",
"group": "logs",
"weight": 362,
"weight": 363,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14373,7 +14373,7 @@
"x-appwrite": {
"method": "listTargets",
"group": "messages",
"weight": 363,
"weight": 364,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14446,7 +14446,7 @@
"x-appwrite": {
"method": "listProviders",
"group": "providers",
"weight": 333,
"weight": 334,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14522,7 +14522,7 @@
"x-appwrite": {
"method": "createApnsProvider",
"group": "providers",
"weight": 332,
"weight": 333,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14638,7 +14638,7 @@
"x-appwrite": {
"method": "updateApnsProvider",
"group": "providers",
"weight": 345,
"weight": 346,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14752,7 +14752,7 @@
"x-appwrite": {
"method": "createFcmProvider",
"group": "providers",
"weight": 331,
"weight": 332,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14844,7 +14844,7 @@
"x-appwrite": {
"method": "updateFcmProvider",
"group": "providers",
"weight": 344,
"weight": 345,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14934,7 +14934,7 @@
"x-appwrite": {
"method": "createMailgunProvider",
"group": "providers",
"weight": 323,
"weight": 324,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15062,7 +15062,7 @@
"x-appwrite": {
"method": "updateMailgunProvider",
"group": "providers",
"weight": 336,
"weight": 337,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15188,7 +15188,7 @@
"x-appwrite": {
"method": "createMsg91Provider",
"group": "providers",
"weight": 326,
"weight": 327,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15292,7 +15292,7 @@
"x-appwrite": {
"method": "updateMsg91Provider",
"group": "providers",
"weight": 339,
"weight": 340,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15394,7 +15394,7 @@
"x-appwrite": {
"method": "createSendgridProvider",
"group": "providers",
"weight": 324,
"weight": 325,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15510,7 +15510,7 @@
"x-appwrite": {
"method": "updateSendgridProvider",
"group": "providers",
"weight": 337,
"weight": 338,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15624,7 +15624,7 @@
"x-appwrite": {
"method": "createSmtpProvider",
"group": "providers",
"weight": 325,
"weight": 326,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15784,7 +15784,7 @@
"x-appwrite": {
"method": "updateSmtpProvider",
"group": "providers",
"weight": 338,
"weight": 339,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15941,7 +15941,7 @@
"x-appwrite": {
"method": "createTelesignProvider",
"group": "providers",
"weight": 327,
"weight": 328,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16045,7 +16045,7 @@
"x-appwrite": {
"method": "updateTelesignProvider",
"group": "providers",
"weight": 340,
"weight": 341,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16147,7 +16147,7 @@
"x-appwrite": {
"method": "createTextmagicProvider",
"group": "providers",
"weight": 328,
"weight": 329,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16251,7 +16251,7 @@
"x-appwrite": {
"method": "updateTextmagicProvider",
"group": "providers",
"weight": 341,
"weight": 342,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16353,7 +16353,7 @@
"x-appwrite": {
"method": "createTwilioProvider",
"group": "providers",
"weight": 329,
"weight": 330,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16457,7 +16457,7 @@
"x-appwrite": {
"method": "updateTwilioProvider",
"group": "providers",
"weight": 342,
"weight": 343,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16559,7 +16559,7 @@
"x-appwrite": {
"method": "createVonageProvider",
"group": "providers",
"weight": 330,
"weight": 331,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16663,7 +16663,7 @@
"x-appwrite": {
"method": "updateVonageProvider",
"group": "providers",
"weight": 343,
"weight": 344,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16763,7 +16763,7 @@
"x-appwrite": {
"method": "getProvider",
"group": "providers",
"weight": 335,
"weight": 336,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16819,7 +16819,7 @@
"x-appwrite": {
"method": "deleteProvider",
"group": "providers",
"weight": 346,
"weight": 347,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16880,7 +16880,7 @@
"x-appwrite": {
"method": "listProviderLogs",
"group": "providers",
"weight": 334,
"weight": 335,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16953,7 +16953,7 @@
"x-appwrite": {
"method": "listSubscriberLogs",
"group": "subscribers",
"weight": 355,
"weight": 356,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17026,7 +17026,7 @@
"x-appwrite": {
"method": "listTopics",
"group": "topics",
"weight": 348,
"weight": 349,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17100,7 +17100,7 @@
"x-appwrite": {
"method": "createTopic",
"group": "topics",
"weight": 347,
"weight": 348,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17189,7 +17189,7 @@
"x-appwrite": {
"method": "getTopic",
"group": "topics",
"weight": 350,
"weight": 351,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17250,7 +17250,7 @@
"x-appwrite": {
"method": "updateTopic",
"group": "topics",
"weight": 351,
"weight": 352,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17330,7 +17330,7 @@
"x-appwrite": {
"method": "deleteTopic",
"group": "topics",
"weight": 352,
"weight": 353,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17391,7 +17391,7 @@
"x-appwrite": {
"method": "listTopicLogs",
"group": "topics",
"weight": 349,
"weight": 350,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17464,7 +17464,7 @@
"x-appwrite": {
"method": "listSubscribers",
"group": "subscribers",
"weight": 354,
"weight": 355,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17546,7 +17546,7 @@
"x-appwrite": {
"method": "createSubscriber",
"group": "subscribers",
"weight": 353,
"weight": 354,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17635,7 +17635,7 @@
"x-appwrite": {
"method": "getSubscriber",
"group": "subscribers",
"weight": 356,
"weight": 357,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17699,7 +17699,7 @@
"x-appwrite": {
"method": "deleteSubscriber",
"group": "subscribers",
"weight": 357,
"weight": 358,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17771,7 +17771,7 @@
"x-appwrite": {
"method": "list",
"group": "sites",
"weight": 406,
"weight": 407,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17844,7 +17844,7 @@
"x-appwrite": {
"method": "create",
"group": "sites",
"weight": 404,
"weight": 405,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18112,7 +18112,7 @@
"x-appwrite": {
"method": "listFrameworks",
"group": "frameworks",
"weight": 409,
"weight": 410,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18162,7 +18162,7 @@
"x-appwrite": {
"method": "listSpecifications",
"group": "frameworks",
"weight": 432,
"weight": 433,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18213,7 +18213,7 @@
"x-appwrite": {
"method": "get",
"group": "sites",
"weight": 405,
"weight": 406,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18273,7 +18273,7 @@
"x-appwrite": {
"method": "update",
"group": "sites",
"weight": 407,
"weight": 408,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18536,7 +18536,7 @@
"x-appwrite": {
"method": "delete",
"group": "sites",
"weight": 408,
"weight": 409,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18598,7 +18598,7 @@
"x-appwrite": {
"method": "updateSiteDeployment",
"group": "sites",
"weight": 415,
"weight": 416,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18676,7 +18676,7 @@
"x-appwrite": {
"method": "listDeployments",
"group": "deployments",
"weight": 414,
"weight": 415,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18757,7 +18757,7 @@
"x-appwrite": {
"method": "createDeployment",
"group": "deployments",
"weight": 410,
"weight": 411,
"cookies": false,
"type": "upload",
"deprecated": false,
@@ -18858,7 +18858,7 @@
"x-appwrite": {
"method": "createDuplicateDeployment",
"group": "deployments",
"weight": 418,
"weight": 419,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18938,7 +18938,7 @@
"x-appwrite": {
"method": "createTemplateDeployment",
"group": "deployments",
"weight": 411,
"weight": 412,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19045,7 +19045,7 @@
"x-appwrite": {
"method": "createVcsDeployment",
"group": "deployments",
"weight": 412,
"weight": 413,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19143,7 +19143,7 @@
"x-appwrite": {
"method": "getDeployment",
"group": "deployments",
"weight": 413,
"weight": 414,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19206,7 +19206,7 @@
"x-appwrite": {
"method": "deleteDeployment",
"group": "deployments",
"weight": 416,
"weight": 417,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19274,7 +19274,7 @@
"x-appwrite": {
"method": "getDeploymentDownload",
"group": "deployments",
"weight": 417,
"weight": 418,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -19360,7 +19360,7 @@
"x-appwrite": {
"method": "updateDeploymentStatus",
"group": "deployments",
"weight": 419,
"weight": 420,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19428,7 +19428,7 @@
"x-appwrite": {
"method": "listLogs",
"group": "logs",
"weight": 421,
"weight": 422,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19500,7 +19500,7 @@
"x-appwrite": {
"method": "getLog",
"group": "logs",
"weight": 420,
"weight": 421,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19565,7 +19565,7 @@
"x-appwrite": {
"method": "deleteLog",
"group": "logs",
"weight": 422,
"weight": 423,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19633,7 +19633,7 @@
"x-appwrite": {
"method": "listVariables",
"group": "variables",
"weight": 425,
"weight": 426,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19693,7 +19693,7 @@
"x-appwrite": {
"method": "createVariable",
"group": "variables",
"weight": 423,
"weight": 424,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19784,7 +19784,7 @@
"x-appwrite": {
"method": "getVariable",
"group": "variables",
"weight": 424,
"weight": 425,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19852,7 +19852,7 @@
"x-appwrite": {
"method": "updateVariable",
"group": "variables",
"weight": 426,
"weight": 427,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19945,7 +19945,7 @@
"x-appwrite": {
"method": "deleteVariable",
"group": "variables",
"weight": 427,
"weight": 428,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22288,7 +22288,7 @@
"x-appwrite": {
"method": "list",
"group": "files",
"weight": 440,
"weight": 441,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22369,7 +22369,7 @@
"x-appwrite": {
"method": "createFileToken",
"group": "files",
"weight": 438,
"weight": 439,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22454,7 +22454,7 @@
"x-appwrite": {
"method": "get",
"group": "tokens",
"weight": 439,
"weight": 440,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22515,7 +22515,7 @@
"x-appwrite": {
"method": "update",
"group": "tokens",
"weight": 441,
"weight": 442,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22587,7 +22587,7 @@
"x-appwrite": {
"method": "delete",
"group": "tokens",
"weight": 442,
"weight": 443,
"cookies": false,
"type": "",
"deprecated": false,
+8 -8
View File
@@ -4798,7 +4798,7 @@
"tags": [
"databases"
],
"description": "**WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.\n\nCreate or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.",
"description": "Create or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.",
"responses": {
"200": {
"description": "Document",
@@ -5303,7 +5303,7 @@
"x-appwrite": {
"method": "listExecutions",
"group": "executions",
"weight": 393,
"weight": 394,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5376,7 +5376,7 @@
"x-appwrite": {
"method": "createExecution",
"group": "executions",
"weight": 391,
"weight": 392,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5492,7 +5492,7 @@
"x-appwrite": {
"method": "getExecution",
"group": "executions",
"weight": 392,
"weight": 393,
"cookies": false,
"type": "",
"deprecated": false,
@@ -5563,7 +5563,7 @@
"x-appwrite": {
"method": "query",
"group": "graphql",
"weight": 307,
"weight": 308,
"cookies": false,
"type": "graphql",
"deprecated": false,
@@ -5636,7 +5636,7 @@
"x-appwrite": {
"method": "mutation",
"group": "graphql",
"weight": 306,
"weight": 307,
"cookies": false,
"type": "graphql",
"deprecated": false,
@@ -6117,7 +6117,7 @@
"x-appwrite": {
"method": "createSubscriber",
"group": "subscribers",
"weight": 353,
"weight": 354,
"cookies": false,
"type": "",
"deprecated": false,
@@ -6201,7 +6201,7 @@
"x-appwrite": {
"method": "deleteSubscriber",
"group": "subscribers",
"weight": 357,
"weight": 358,
"cookies": false,
"type": "",
"deprecated": false,
File diff suppressed because it is too large Load Diff
+109 -109
View File
@@ -7663,7 +7663,7 @@
"model": "#\/definitions\/documentList"
}
],
"description": "**WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.\n\nCreate new Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console."
"description": "Create new Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console."
}
],
"auth": {
@@ -7749,7 +7749,7 @@
"tags": [
"databases"
],
"description": "**WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.\n\nCreate or update Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.\n",
"description": "Create or update Documents. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.\n",
"responses": {
"200": {
"description": "Documents List",
@@ -7839,7 +7839,7 @@
"tags": [
"databases"
],
"description": "**WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.\n\nUpdate all documents that match your queries, if no queries are submitted then all documents are updated. You can pass only specific fields to be updated.",
"description": "Update all documents that match your queries, if no queries are submitted then all documents are updated. You can pass only specific fields to be updated.",
"responses": {
"200": {
"description": "Documents List",
@@ -7932,7 +7932,7 @@
"tags": [
"databases"
],
"description": "**WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.\n\nBulk delete documents using queries, if no queries are passed then all documents are deleted.",
"description": "Bulk delete documents using queries, if no queries are passed then all documents are deleted.",
"responses": {
"200": {
"description": "Documents List",
@@ -8110,7 +8110,7 @@
"tags": [
"databases"
],
"description": "**WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.\n\nCreate or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.",
"description": "Create or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https:\/\/appwrite.io\/docs\/server\/databases#databasesCreateCollection) API or directly from your database console.",
"responses": {
"200": {
"description": "Document",
@@ -8978,7 +8978,7 @@
"x-appwrite": {
"method": "list",
"group": "functions",
"weight": 377,
"weight": 378,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9051,7 +9051,7 @@
"x-appwrite": {
"method": "create",
"group": "functions",
"weight": 374,
"weight": 375,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9303,7 +9303,7 @@
"x-appwrite": {
"method": "listRuntimes",
"group": "runtimes",
"weight": 379,
"weight": 380,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9353,7 +9353,7 @@
"x-appwrite": {
"method": "listSpecifications",
"group": "runtimes",
"weight": 380,
"weight": 381,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9404,7 +9404,7 @@
"x-appwrite": {
"method": "get",
"group": "functions",
"weight": 375,
"weight": 376,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9464,7 +9464,7 @@
"x-appwrite": {
"method": "update",
"group": "functions",
"weight": 376,
"weight": 377,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9712,7 +9712,7 @@
"x-appwrite": {
"method": "delete",
"group": "functions",
"weight": 378,
"weight": 379,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9774,7 +9774,7 @@
"x-appwrite": {
"method": "updateFunctionDeployment",
"group": "functions",
"weight": 383,
"weight": 384,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9852,7 +9852,7 @@
"x-appwrite": {
"method": "listDeployments",
"group": "deployments",
"weight": 384,
"weight": 385,
"cookies": false,
"type": "",
"deprecated": false,
@@ -9933,7 +9933,7 @@
"x-appwrite": {
"method": "createDeployment",
"group": "deployments",
"weight": 381,
"weight": 382,
"cookies": false,
"type": "upload",
"deprecated": false,
@@ -10026,7 +10026,7 @@
"x-appwrite": {
"method": "createDuplicateDeployment",
"group": "deployments",
"weight": 389,
"weight": 390,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10112,7 +10112,7 @@
"x-appwrite": {
"method": "createTemplateDeployment",
"group": "deployments",
"weight": 386,
"weight": 387,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10219,7 +10219,7 @@
"x-appwrite": {
"method": "createVcsDeployment",
"group": "deployments",
"weight": 387,
"weight": 388,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10316,7 +10316,7 @@
"x-appwrite": {
"method": "getDeployment",
"group": "deployments",
"weight": 382,
"weight": 383,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10379,7 +10379,7 @@
"x-appwrite": {
"method": "deleteDeployment",
"group": "deployments",
"weight": 385,
"weight": 386,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10447,7 +10447,7 @@
"x-appwrite": {
"method": "getDeploymentDownload",
"group": "deployments",
"weight": 388,
"weight": 389,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -10533,7 +10533,7 @@
"x-appwrite": {
"method": "updateDeploymentStatus",
"group": "deployments",
"weight": 390,
"weight": 391,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10601,7 +10601,7 @@
"x-appwrite": {
"method": "listExecutions",
"group": "executions",
"weight": 393,
"weight": 394,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10676,7 +10676,7 @@
"x-appwrite": {
"method": "createExecution",
"group": "executions",
"weight": 391,
"weight": 392,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10794,7 +10794,7 @@
"x-appwrite": {
"method": "getExecution",
"group": "executions",
"weight": 392,
"weight": 393,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10860,7 +10860,7 @@
"x-appwrite": {
"method": "deleteExecution",
"group": "executions",
"weight": 394,
"weight": 395,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10928,7 +10928,7 @@
"x-appwrite": {
"method": "listVariables",
"group": "variables",
"weight": 399,
"weight": 400,
"cookies": false,
"type": "",
"deprecated": false,
@@ -10988,7 +10988,7 @@
"x-appwrite": {
"method": "createVariable",
"group": "variables",
"weight": 397,
"weight": 398,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11079,7 +11079,7 @@
"x-appwrite": {
"method": "getVariable",
"group": "variables",
"weight": 398,
"weight": 399,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11147,7 +11147,7 @@
"x-appwrite": {
"method": "updateVariable",
"group": "variables",
"weight": 400,
"weight": 401,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11240,7 +11240,7 @@
"x-appwrite": {
"method": "deleteVariable",
"group": "variables",
"weight": 401,
"weight": 402,
"cookies": false,
"type": "",
"deprecated": false,
@@ -11310,7 +11310,7 @@
"x-appwrite": {
"method": "query",
"group": "graphql",
"weight": 307,
"weight": 308,
"cookies": false,
"type": "graphql",
"deprecated": false,
@@ -11385,7 +11385,7 @@
"x-appwrite": {
"method": "mutation",
"group": "graphql",
"weight": 306,
"weight": 307,
"cookies": false,
"type": "graphql",
"deprecated": false,
@@ -13167,7 +13167,7 @@
"x-appwrite": {
"method": "listMessages",
"group": "messages",
"weight": 361,
"weight": 362,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13243,7 +13243,7 @@
"x-appwrite": {
"method": "createEmail",
"group": "messages",
"weight": 358,
"weight": 359,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13402,7 +13402,7 @@
"x-appwrite": {
"method": "updateEmail",
"group": "messages",
"weight": 365,
"weight": 366,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13558,7 +13558,7 @@
"x-appwrite": {
"method": "createPush",
"group": "messages",
"weight": 360,
"weight": 361,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13754,7 +13754,7 @@
"x-appwrite": {
"method": "updatePush",
"group": "messages",
"weight": 367,
"weight": 368,
"cookies": false,
"type": "",
"deprecated": false,
@@ -13949,7 +13949,7 @@
"x-appwrite": {
"method": "createSms",
"group": "messages",
"weight": 359,
"weight": 360,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14068,7 +14068,7 @@
"x-appwrite": {
"method": "updateSms",
"group": "messages",
"weight": 366,
"weight": 367,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14183,7 +14183,7 @@
"x-appwrite": {
"method": "getMessage",
"group": "messages",
"weight": 364,
"weight": 365,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14239,7 +14239,7 @@
"x-appwrite": {
"method": "delete",
"group": "messages",
"weight": 368,
"weight": 369,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14300,7 +14300,7 @@
"x-appwrite": {
"method": "listMessageLogs",
"group": "logs",
"weight": 362,
"weight": 363,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14373,7 +14373,7 @@
"x-appwrite": {
"method": "listTargets",
"group": "messages",
"weight": 363,
"weight": 364,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14446,7 +14446,7 @@
"x-appwrite": {
"method": "listProviders",
"group": "providers",
"weight": 333,
"weight": 334,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14522,7 +14522,7 @@
"x-appwrite": {
"method": "createApnsProvider",
"group": "providers",
"weight": 332,
"weight": 333,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14638,7 +14638,7 @@
"x-appwrite": {
"method": "updateApnsProvider",
"group": "providers",
"weight": 345,
"weight": 346,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14752,7 +14752,7 @@
"x-appwrite": {
"method": "createFcmProvider",
"group": "providers",
"weight": 331,
"weight": 332,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14844,7 +14844,7 @@
"x-appwrite": {
"method": "updateFcmProvider",
"group": "providers",
"weight": 344,
"weight": 345,
"cookies": false,
"type": "",
"deprecated": false,
@@ -14934,7 +14934,7 @@
"x-appwrite": {
"method": "createMailgunProvider",
"group": "providers",
"weight": 323,
"weight": 324,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15062,7 +15062,7 @@
"x-appwrite": {
"method": "updateMailgunProvider",
"group": "providers",
"weight": 336,
"weight": 337,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15188,7 +15188,7 @@
"x-appwrite": {
"method": "createMsg91Provider",
"group": "providers",
"weight": 326,
"weight": 327,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15292,7 +15292,7 @@
"x-appwrite": {
"method": "updateMsg91Provider",
"group": "providers",
"weight": 339,
"weight": 340,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15394,7 +15394,7 @@
"x-appwrite": {
"method": "createSendgridProvider",
"group": "providers",
"weight": 324,
"weight": 325,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15510,7 +15510,7 @@
"x-appwrite": {
"method": "updateSendgridProvider",
"group": "providers",
"weight": 337,
"weight": 338,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15624,7 +15624,7 @@
"x-appwrite": {
"method": "createSmtpProvider",
"group": "providers",
"weight": 325,
"weight": 326,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15784,7 +15784,7 @@
"x-appwrite": {
"method": "updateSmtpProvider",
"group": "providers",
"weight": 338,
"weight": 339,
"cookies": false,
"type": "",
"deprecated": false,
@@ -15941,7 +15941,7 @@
"x-appwrite": {
"method": "createTelesignProvider",
"group": "providers",
"weight": 327,
"weight": 328,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16045,7 +16045,7 @@
"x-appwrite": {
"method": "updateTelesignProvider",
"group": "providers",
"weight": 340,
"weight": 341,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16147,7 +16147,7 @@
"x-appwrite": {
"method": "createTextmagicProvider",
"group": "providers",
"weight": 328,
"weight": 329,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16251,7 +16251,7 @@
"x-appwrite": {
"method": "updateTextmagicProvider",
"group": "providers",
"weight": 341,
"weight": 342,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16353,7 +16353,7 @@
"x-appwrite": {
"method": "createTwilioProvider",
"group": "providers",
"weight": 329,
"weight": 330,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16457,7 +16457,7 @@
"x-appwrite": {
"method": "updateTwilioProvider",
"group": "providers",
"weight": 342,
"weight": 343,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16559,7 +16559,7 @@
"x-appwrite": {
"method": "createVonageProvider",
"group": "providers",
"weight": 330,
"weight": 331,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16663,7 +16663,7 @@
"x-appwrite": {
"method": "updateVonageProvider",
"group": "providers",
"weight": 343,
"weight": 344,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16763,7 +16763,7 @@
"x-appwrite": {
"method": "getProvider",
"group": "providers",
"weight": 335,
"weight": 336,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16819,7 +16819,7 @@
"x-appwrite": {
"method": "deleteProvider",
"group": "providers",
"weight": 346,
"weight": 347,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16880,7 +16880,7 @@
"x-appwrite": {
"method": "listProviderLogs",
"group": "providers",
"weight": 334,
"weight": 335,
"cookies": false,
"type": "",
"deprecated": false,
@@ -16953,7 +16953,7 @@
"x-appwrite": {
"method": "listSubscriberLogs",
"group": "subscribers",
"weight": 355,
"weight": 356,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17026,7 +17026,7 @@
"x-appwrite": {
"method": "listTopics",
"group": "topics",
"weight": 348,
"weight": 349,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17100,7 +17100,7 @@
"x-appwrite": {
"method": "createTopic",
"group": "topics",
"weight": 347,
"weight": 348,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17189,7 +17189,7 @@
"x-appwrite": {
"method": "getTopic",
"group": "topics",
"weight": 350,
"weight": 351,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17250,7 +17250,7 @@
"x-appwrite": {
"method": "updateTopic",
"group": "topics",
"weight": 351,
"weight": 352,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17330,7 +17330,7 @@
"x-appwrite": {
"method": "deleteTopic",
"group": "topics",
"weight": 352,
"weight": 353,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17391,7 +17391,7 @@
"x-appwrite": {
"method": "listTopicLogs",
"group": "topics",
"weight": 349,
"weight": 350,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17464,7 +17464,7 @@
"x-appwrite": {
"method": "listSubscribers",
"group": "subscribers",
"weight": 354,
"weight": 355,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17546,7 +17546,7 @@
"x-appwrite": {
"method": "createSubscriber",
"group": "subscribers",
"weight": 353,
"weight": 354,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17635,7 +17635,7 @@
"x-appwrite": {
"method": "getSubscriber",
"group": "subscribers",
"weight": 356,
"weight": 357,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17699,7 +17699,7 @@
"x-appwrite": {
"method": "deleteSubscriber",
"group": "subscribers",
"weight": 357,
"weight": 358,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17771,7 +17771,7 @@
"x-appwrite": {
"method": "list",
"group": "sites",
"weight": 406,
"weight": 407,
"cookies": false,
"type": "",
"deprecated": false,
@@ -17844,7 +17844,7 @@
"x-appwrite": {
"method": "create",
"group": "sites",
"weight": 404,
"weight": 405,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18112,7 +18112,7 @@
"x-appwrite": {
"method": "listFrameworks",
"group": "frameworks",
"weight": 409,
"weight": 410,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18162,7 +18162,7 @@
"x-appwrite": {
"method": "listSpecifications",
"group": "frameworks",
"weight": 432,
"weight": 433,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18213,7 +18213,7 @@
"x-appwrite": {
"method": "get",
"group": "sites",
"weight": 405,
"weight": 406,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18273,7 +18273,7 @@
"x-appwrite": {
"method": "update",
"group": "sites",
"weight": 407,
"weight": 408,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18536,7 +18536,7 @@
"x-appwrite": {
"method": "delete",
"group": "sites",
"weight": 408,
"weight": 409,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18598,7 +18598,7 @@
"x-appwrite": {
"method": "updateSiteDeployment",
"group": "sites",
"weight": 415,
"weight": 416,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18676,7 +18676,7 @@
"x-appwrite": {
"method": "listDeployments",
"group": "deployments",
"weight": 414,
"weight": 415,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18757,7 +18757,7 @@
"x-appwrite": {
"method": "createDeployment",
"group": "deployments",
"weight": 410,
"weight": 411,
"cookies": false,
"type": "upload",
"deprecated": false,
@@ -18858,7 +18858,7 @@
"x-appwrite": {
"method": "createDuplicateDeployment",
"group": "deployments",
"weight": 418,
"weight": 419,
"cookies": false,
"type": "",
"deprecated": false,
@@ -18938,7 +18938,7 @@
"x-appwrite": {
"method": "createTemplateDeployment",
"group": "deployments",
"weight": 411,
"weight": 412,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19045,7 +19045,7 @@
"x-appwrite": {
"method": "createVcsDeployment",
"group": "deployments",
"weight": 412,
"weight": 413,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19143,7 +19143,7 @@
"x-appwrite": {
"method": "getDeployment",
"group": "deployments",
"weight": 413,
"weight": 414,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19206,7 +19206,7 @@
"x-appwrite": {
"method": "deleteDeployment",
"group": "deployments",
"weight": 416,
"weight": 417,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19274,7 +19274,7 @@
"x-appwrite": {
"method": "getDeploymentDownload",
"group": "deployments",
"weight": 417,
"weight": 418,
"cookies": false,
"type": "location",
"deprecated": false,
@@ -19360,7 +19360,7 @@
"x-appwrite": {
"method": "updateDeploymentStatus",
"group": "deployments",
"weight": 419,
"weight": 420,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19428,7 +19428,7 @@
"x-appwrite": {
"method": "listLogs",
"group": "logs",
"weight": 421,
"weight": 422,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19500,7 +19500,7 @@
"x-appwrite": {
"method": "getLog",
"group": "logs",
"weight": 420,
"weight": 421,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19565,7 +19565,7 @@
"x-appwrite": {
"method": "deleteLog",
"group": "logs",
"weight": 422,
"weight": 423,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19633,7 +19633,7 @@
"x-appwrite": {
"method": "listVariables",
"group": "variables",
"weight": 425,
"weight": 426,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19693,7 +19693,7 @@
"x-appwrite": {
"method": "createVariable",
"group": "variables",
"weight": 423,
"weight": 424,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19784,7 +19784,7 @@
"x-appwrite": {
"method": "getVariable",
"group": "variables",
"weight": 424,
"weight": 425,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19852,7 +19852,7 @@
"x-appwrite": {
"method": "updateVariable",
"group": "variables",
"weight": 426,
"weight": 427,
"cookies": false,
"type": "",
"deprecated": false,
@@ -19945,7 +19945,7 @@
"x-appwrite": {
"method": "deleteVariable",
"group": "variables",
"weight": 427,
"weight": 428,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22288,7 +22288,7 @@
"x-appwrite": {
"method": "list",
"group": "files",
"weight": 440,
"weight": 441,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22369,7 +22369,7 @@
"x-appwrite": {
"method": "createFileToken",
"group": "files",
"weight": 438,
"weight": 439,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22454,7 +22454,7 @@
"x-appwrite": {
"method": "get",
"group": "tokens",
"weight": 439,
"weight": 440,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22515,7 +22515,7 @@
"x-appwrite": {
"method": "update",
"group": "tokens",
"weight": 441,
"weight": 442,
"cookies": false,
"type": "",
"deprecated": false,
@@ -22587,7 +22587,7 @@
"x-appwrite": {
"method": "delete",
"group": "tokens",
"weight": 442,
"weight": 443,
"cookies": false,
"type": "",
"deprecated": false,
+10 -2
View File
@@ -3220,6 +3220,7 @@ App::post('/v1/databases/:databaseId/collections/:collectionId/documents')
namespace: 'databases',
group: 'documents',
name: 'createDocument',
desc: 'Create document',
description: '/docs/references/databases/create-document.md',
auth: [AuthType::ADMIN, AuthType::SESSION, AuthType::KEY, AuthType::JWT],
responses: [
@@ -3241,6 +3242,7 @@ App::post('/v1/databases/:databaseId/collections/:collectionId/documents')
namespace: 'databases',
group: 'documents',
name: 'createDocuments',
desc: 'Create documents',
description: '/docs/references/databases/create-documents.md',
auth: [AuthType::ADMIN, AuthType::KEY],
responses: [
@@ -4491,7 +4493,7 @@ App::put('/v1/databases/:databaseId/collections/:collectionId/documents/:documen
App::patch('/v1/databases/:databaseId/collections/:collectionId/documents/:documentId/:attribute/increment')
->desc('Increment document attribute')
->groups(['api', 'database'])
->label('event', 'databases.[databaseId].collections.[collectionId].documents.[documentId].increment')
->label('event', 'databases.[databaseId].collections.[collectionId].documents.[documentId].update')
->label('scope', 'documents.write')
->label('resourceType', RESOURCE_TYPE_DATABASES)
->label('audits.event', 'documents.increment')
@@ -4550,6 +4552,8 @@ App::patch('/v1/databases/:databaseId/collections/:collectionId/documents/:docum
throw new Exception(Exception::ATTRIBUTE_LIMIT_EXCEEDED, 'Attribute "' . $attribute . '" has reached the maximum value of ' . $max);
} catch (TypeException) {
throw new Exception(Exception::ATTRIBUTE_TYPE_INVALID, 'Attribute "' . $attribute . '" is not a number');
} catch (InvalidArgumentException $e) {
throw new Exception(Exception::GENERAL_ARGUMENT_INVALID, $e->getMessage());
}
$queueForStatsUsage
@@ -4559,6 +4563,7 @@ App::patch('/v1/databases/:databaseId/collections/:collectionId/documents/:docum
$queueForEvents
->setParam('databaseId', $databaseId)
->setParam('collectionId', $collectionId)
->setParam('documentId', $document->getId())
->setContext('collection', $collection)
->setContext('database', $database);
@@ -4568,7 +4573,7 @@ App::patch('/v1/databases/:databaseId/collections/:collectionId/documents/:docum
App::patch('/v1/databases/:databaseId/collections/:collectionId/documents/:documentId/:attribute/decrement')
->desc('Decrement document attribute')
->groups(['api', 'database'])
->label('event', 'databases.[databaseId].collections.[collectionId].documents.[documentId].decrement')
->label('event', 'databases.[databaseId].collections.[collectionId].documents.[documentId].update')
->label('scope', 'documents.write')
->label('resourceType', RESOURCE_TYPE_DATABASES)
->label('audits.event', 'documents.decrement')
@@ -4627,6 +4632,8 @@ App::patch('/v1/databases/:databaseId/collections/:collectionId/documents/:docum
throw new Exception(Exception::ATTRIBUTE_LIMIT_EXCEEDED, 'Attribute "' . $attribute . '" has reached the minimum value of ' . $min);
} catch (TypeException) {
throw new Exception(Exception::ATTRIBUTE_TYPE_INVALID, 'Attribute "' . $attribute . '" is not a number');
} catch (InvalidArgumentException $e) {
throw new Exception(Exception::GENERAL_ARGUMENT_INVALID, $e->getMessage());
}
$queueForStatsUsage
@@ -4636,6 +4643,7 @@ App::patch('/v1/databases/:databaseId/collections/:collectionId/documents/:docum
$queueForEvents
->setParam('databaseId', $databaseId)
->setParam('collectionId', $collectionId)
->setParam('documentId', $document->getId())
->setContext('collection', $collection)
->setContext('database', $database);
+3 -1
View File
@@ -23,10 +23,12 @@ use Utopia\Storage\Device;
use Utopia\Storage\Device\Local;
use Utopia\Storage\Storage;
use Utopia\System\System;
use Utopia\Validator\AnyOf;
use Utopia\Validator\Domain;
use Utopia\Validator\Integer;
use Utopia\Validator\Multiple;
use Utopia\Validator\Text;
use Utopia\Validator\URL;
use Utopia\Validator\WhiteList;
App::get('/v1/health')
@@ -397,7 +399,7 @@ App::get('/v1/health/certificate')
],
contentType: ContentType::JSON
))
->param('domain', null, new Multiple([new Domain(), new PublicDomain()]), Multiple::TYPE_STRING, 'Domain name')
->param('domain', null, new Multiple([new AnyOf([new URL(), new Domain()]), new PublicDomain()]), Multiple::TYPE_STRING, 'Domain name')
->inject('response')
->action(function (string $domain, Response $response) {
if (filter_var($domain, FILTER_VALIDATE_URL)) {
+14 -2
View File
@@ -361,7 +361,7 @@ function router(App $utopia, Database $dbForPlatform, callable $getProjectDB, Sw
$headers['x-appwrite-continent-code'] = '';
$headers['x-appwrite-continent-eu'] = 'false';
$jwtExpiry = $resource->getAttribute('timeout', 900);
$jwtExpiry = $resource->getAttribute('timeout', 900) + 60; // 1min extra to account for possible cold-starts
$jwtObj = new JWT(System::getEnv('_APP_OPENSSL_KEY_V1'), 'HS256', $jwtExpiry, 0);
$jwtKey = $jwtObj->encode([
'projectId' => $project->getId(),
@@ -618,7 +618,19 @@ function router(App $utopia, Database $dbForPlatform, callable $getProjectDB, Sw
/** Update execution status */
$status = $executionResponse['statusCode'] >= 500 ? 'failed' : 'completed';
$execution->setAttribute('status', $status);
$execution->setAttribute('logs', $executionResponse['logs']);
// Truncate logs if they exceed the limit
$maxLogLength = APP_FUNCTION_LOG_LENGTH_LIMIT;
$logs = $executionResponse['logs'] ?? '';
if (\is_string($logs) && \strlen($logs) > $maxLogLength) {
$warningMessage = "\n[WARNING] Logs truncated. The output exceeded {$maxLogLength} characters.";
$warningLength = \strlen($warningMessage);
$maxContentLength = $maxLogLength - $warningLength;
$logs = \substr($logs, 0, $maxContentLength) . $warningMessage;
}
$execution->setAttribute('logs', $logs);
$execution->setAttribute('errors', $executionResponse['errors']);
$execution->setAttribute('responseStatusCode', $executionResponse['statusCode']);
$execution->setAttribute('responseHeaders', $headersFiltered);
+1
View File
@@ -143,6 +143,7 @@ const APP_AUTH_TYPE_KEY = 'Key';
const APP_AUTH_TYPE_ADMIN = 'Admin';
// Response related
const MAX_OUTPUT_CHUNK_SIZE = 10 * 1024 * 1024; // 10MB
const APP_FUNCTION_LOG_LENGTH_LIMIT = 1000000;
// Function headers
const FUNCTION_ALLOWLIST_HEADERS_REQUEST = ['content-type', 'agent', 'content-length', 'host'];
const FUNCTION_ALLOWLIST_HEADERS_RESPONSE = ['content-type', 'content-length'];
+22 -2
View File
@@ -6,9 +6,29 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>404 Not Found</title>
<link rel="preconnect" href="https://fonts.appwrite.io/">
<style>
@font-face {
font-family: 'Inter';
src: url('https://fonts.appwrite.io/inter/Inter-Regular.woff2') format('woff2');
font-weight: 400;
font-style: normal;
}
@font-face {
font-family: 'Inter';
src: url('https://fonts.appwrite.io/inter/Inter-Medium.woff2') format('woff2');
font-weight: 500;
font-style: normal;
}
@font-face {
font-family: 'Fira Code';
src: url('https://fonts.appwrite.io/fira-code/FiraCode-Regular.woff2') format('woff2');
font-weight: 400;
font-style: normal;
}
</style>
<style>
@import url(https://fonts.bunny.net/css?family=fira-code:400|inter:400);
* {
margin: 0;
padding: 0;
+43 -20
View File
@@ -104,26 +104,38 @@ switch ($type) {
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="https://cdn.jsdelivr.net/gh/alpinejs/alpine@v2.x.x/dist/alpine.min.js" defer></script>
<link rel="icon" type="image/svg+xml" href="<?php echo $url; ?>/images/logos/appwrite-icon.svg" />
<link rel="mask-icon" type="image/png" href="<?php echo $url; ?>/images/logos/appwrite-icon.png" />
<link
rel="preload"
href="/fonts/inter/inter-v8-latin-600.woff2"
as="font"
type="font/woff2"
crossorigin />
<link
rel="preload"
href="/fonts/inter/inter-v8-latin-regular.woff2"
as="font"
type="font/woff2"
crossorigin />
<link rel="preconnect" href="https://fonts.appwrite.io/" crossorigin>
<style>
@font-face {
font-family: 'Inter';
src: url('https://fonts.appwrite.io/inter/Inter-Regular.woff2') format('woff2');
font-weight: 400;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: 'Inter';
src: url('https://fonts.appwrite.io/inter/Inter-Medium.woff2') format('woff2');
font-weight: 500;
font-style: normal;
font-display: swap;
}
@font-face {
font-family: 'Fira Code';
src: url('https://fonts.appwrite.io/fira-code/FiraCode-Regular.woff2') format('woff2');
font-weight: 400;
font-style: normal;
font-display: swap;
}
</style>
<title><?php echo $this->print($title); ?></title>
<style>
@import url(https://fonts.bunny.net/css?family=fira-code:400|inter:400);
* {
margin: 0;
padding: 0;
@@ -452,9 +464,9 @@ switch ($type) {
</style>
</head>
<body x-data="{ page: 'error' }">
<body>
<div class="main">
<div x-show="page === 'error'" class="content <?php echo $isSimpleMessage ? 'large-error' : 'small-error' ?>">
<div id="views-error" class="content <?php echo $isSimpleMessage ? 'large-error' : 'small-error' ?>">
<div class="center"><span class="<?php echo $this->print($labelClass); ?>"><?php echo $this->print($label); ?></span></div>
<h1><?php echo $this->print($message); ?></h1>
<?php if (!empty($type)): ?>
@@ -474,14 +486,14 @@ switch ($type) {
<?php endif; ?>
<?php if ($development) : ?>
<button class="<?php echo count($buttons) === 0 ? 'bordered-button' : 'button' ?>" x-on:click="page = 'trace'">View error trace</button>
<button class="<?php echo count($buttons) === 0 ? 'bordered-button' : 'button' ?>" onclick="openTraceView()">View error trace</button>
<?php endif; ?>
</div>
</div>
<?php if ($development) : ?>
<div x-show="page === 'trace'" class="error-trace">
<button class="back-button" x-on:click="page = 'error'">
<div id="views-trace" style="display: none;" class="error-trace">
<button class="back-button" onclick="openErrorView()">
Back
</button>
<div class="trace-grid-header">Error trace</div>
@@ -512,6 +524,17 @@ switch ($type) {
<?php endif; ?>
</div>
<script>
function openErrorView() {
document.getElementById('views-trace').style.display = 'none';
document.getElementById('views-error').style.display = 'block';
}
function openTraceView() {
document.getElementById('views-trace').style.display = 'block';
document.getElementById('views-error').style.display = 'none';
}
</script>
</body>
</html>
+1 -1
View File
@@ -84,7 +84,7 @@
"spomky-labs/otphp": "^10.0",
"webonyx/graphql-php": "14.11.*",
"league/csv": "9.14.*",
"enshrined/svg-sanitize": "0.21.*"
"enshrined/svg-sanitize": "0.22.*"
},
"require-dev": {
"ext-fileinfo": "*",
Generated
+48 -45
View File
@@ -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": "c0641df1dfb292f9d8f0d6b6278d0e9c",
"content-hash": "73ce235556fcb80b52ba92b0670b66e8",
"packages": [
{
"name": "adhocore/jwt",
@@ -630,16 +630,16 @@
},
{
"name": "enshrined/svg-sanitize",
"version": "0.21.0",
"version": "0.22.0",
"source": {
"type": "git",
"url": "https://github.com/darylldoyle/svg-sanitizer.git",
"reference": "5e477468fac5c5ce933dce53af3e8e4e58dcccc9"
"reference": "0afa95ea74be155a7bcd6c6fb60c276c39984500"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/darylldoyle/svg-sanitizer/zipball/5e477468fac5c5ce933dce53af3e8e4e58dcccc9",
"reference": "5e477468fac5c5ce933dce53af3e8e4e58dcccc9",
"url": "https://api.github.com/repos/darylldoyle/svg-sanitizer/zipball/0afa95ea74be155a7bcd6c6fb60c276c39984500",
"reference": "0afa95ea74be155a7bcd6c6fb60c276c39984500",
"shasum": ""
},
"require": {
@@ -669,9 +669,9 @@
"description": "An SVG sanitizer for PHP",
"support": {
"issues": "https://github.com/darylldoyle/svg-sanitizer/issues",
"source": "https://github.com/darylldoyle/svg-sanitizer/tree/0.21.0"
"source": "https://github.com/darylldoyle/svg-sanitizer/tree/0.22.0"
},
"time": "2025-01-13T09:32:25+00:00"
"time": "2025-08-12T10:13:48+00:00"
},
{
"name": "giggsey/libphonenumber-for-php-lite",
@@ -758,23 +758,26 @@
},
{
"name": "google/protobuf",
"version": "v4.31.1",
"version": "v4.32.0",
"source": {
"type": "git",
"url": "https://github.com/protocolbuffers/protobuf-php.git",
"reference": "2b028ce8876254e2acbeceea7d9b573faad41864"
"reference": "9a9a92ecbe9c671dc1863f6d4a91ea3ea12c8646"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/protocolbuffers/protobuf-php/zipball/2b028ce8876254e2acbeceea7d9b573faad41864",
"reference": "2b028ce8876254e2acbeceea7d9b573faad41864",
"url": "https://api.github.com/repos/protocolbuffers/protobuf-php/zipball/9a9a92ecbe9c671dc1863f6d4a91ea3ea12c8646",
"reference": "9a9a92ecbe9c671dc1863f6d4a91ea3ea12c8646",
"shasum": ""
},
"require": {
"php": ">=7.0.0"
"php": ">=8.1.0"
},
"provide": {
"ext-protobuf": "*"
},
"require-dev": {
"phpunit/phpunit": ">=5.0.0"
"phpunit/phpunit": ">=5.0.0 <8.5.27"
},
"suggest": {
"ext-bcmath": "Need to support JSON deserialization"
@@ -796,9 +799,9 @@
"proto"
],
"support": {
"source": "https://github.com/protocolbuffers/protobuf-php/tree/v4.31.1"
"source": "https://github.com/protocolbuffers/protobuf-php/tree/v4.32.0"
},
"time": "2025-05-28T18:52:35+00:00"
"time": "2025-08-14T20:00:33+00:00"
},
{
"name": "league/csv",
@@ -1228,16 +1231,16 @@
},
{
"name": "open-telemetry/context",
"version": "1.3.0",
"version": "1.3.1",
"source": {
"type": "git",
"url": "https://github.com/opentelemetry-php/context.git",
"reference": "4d5d98f1d4311a55b8d07e3d4c06d2430b4e6efc"
"reference": "438f71812242db3f196fb4c717c6f92cbc819be6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/opentelemetry-php/context/zipball/4d5d98f1d4311a55b8d07e3d4c06d2430b4e6efc",
"reference": "4d5d98f1d4311a55b8d07e3d4c06d2430b4e6efc",
"url": "https://api.github.com/repos/opentelemetry-php/context/zipball/438f71812242db3f196fb4c717c6f92cbc819be6",
"reference": "438f71812242db3f196fb4c717c6f92cbc819be6",
"shasum": ""
},
"require": {
@@ -1283,7 +1286,7 @@
"issues": "https://github.com/open-telemetry/opentelemetry-php/issues",
"source": "https://github.com/open-telemetry/opentelemetry-php"
},
"time": "2025-08-04T03:25:06+00:00"
"time": "2025-08-13T01:12:00+00:00"
},
{
"name": "open-telemetry/exporter-otlp",
@@ -3545,16 +3548,16 @@
},
{
"name": "utopia-php/database",
"version": "0.71.13",
"version": "0.71.15",
"source": {
"type": "git",
"url": "https://github.com/utopia-php/database.git",
"reference": "43aaba72b5699a06351b25924c3417ff83e6bb4b"
"reference": "638e3fb74524970bc589aa7be564aa0783857ee0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/utopia-php/database/zipball/43aaba72b5699a06351b25924c3417ff83e6bb4b",
"reference": "43aaba72b5699a06351b25924c3417ff83e6bb4b",
"url": "https://api.github.com/repos/utopia-php/database/zipball/638e3fb74524970bc589aa7be564aa0783857ee0",
"reference": "638e3fb74524970bc589aa7be564aa0783857ee0",
"shasum": ""
},
"require": {
@@ -3595,9 +3598,9 @@
],
"support": {
"issues": "https://github.com/utopia-php/database/issues",
"source": "https://github.com/utopia-php/database/tree/0.71.13"
"source": "https://github.com/utopia-php/database/tree/0.71.15"
},
"time": "2025-08-11T10:47:16+00:00"
"time": "2025-08-19T08:35:32+00:00"
},
{
"name": "utopia-php/detector",
@@ -3849,16 +3852,16 @@
},
{
"name": "utopia-php/framework",
"version": "0.33.20",
"version": "0.33.21",
"source": {
"type": "git",
"url": "https://github.com/utopia-php/http.git",
"reference": "e1c7ab4e0b5b0a9a70256b1e00912e101e76a131"
"reference": "eb0e82e90b8fa493f99b8d131bdd25173422c493"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/utopia-php/http/zipball/e1c7ab4e0b5b0a9a70256b1e00912e101e76a131",
"reference": "e1c7ab4e0b5b0a9a70256b1e00912e101e76a131",
"url": "https://api.github.com/repos/utopia-php/http/zipball/eb0e82e90b8fa493f99b8d131bdd25173422c493",
"reference": "eb0e82e90b8fa493f99b8d131bdd25173422c493",
"shasum": ""
},
"require": {
@@ -3890,9 +3893,9 @@
],
"support": {
"issues": "https://github.com/utopia-php/http/issues",
"source": "https://github.com/utopia-php/http/tree/0.33.20"
"source": "https://github.com/utopia-php/http/tree/0.33.21"
},
"time": "2025-05-18T23:51:21+00:00"
"time": "2025-08-19T10:52:15+00:00"
},
{
"name": "utopia-php/image",
@@ -4914,16 +4917,16 @@
"packages-dev": [
{
"name": "appwrite/sdk-generator",
"version": "0.41.29",
"version": "0.41.30",
"source": {
"type": "git",
"url": "https://github.com/appwrite/sdk-generator.git",
"reference": "4af563f3b0879747efc8434eb8ed8bf97e75039f"
"reference": "14a6e52d0d1075d176f4c80cafde9afe506e7455"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/appwrite/sdk-generator/zipball/4af563f3b0879747efc8434eb8ed8bf97e75039f",
"reference": "4af563f3b0879747efc8434eb8ed8bf97e75039f",
"url": "https://api.github.com/repos/appwrite/sdk-generator/zipball/14a6e52d0d1075d176f4c80cafde9afe506e7455",
"reference": "14a6e52d0d1075d176f4c80cafde9afe506e7455",
"shasum": ""
},
"require": {
@@ -4959,9 +4962,9 @@
"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/0.41.29"
"source": "https://github.com/appwrite/sdk-generator/tree/0.41.30"
},
"time": "2025-08-04T04:34:45+00:00"
"time": "2025-08-18T01:39:09+00:00"
},
{
"name": "doctrine/annotations",
@@ -5440,16 +5443,16 @@
},
{
"name": "nikic/php-parser",
"version": "v5.6.0",
"version": "v5.6.1",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
"reference": "221b0d0fdf1369c71047ad1d18bb5880017bbc56"
"reference": "f103601b29efebd7ff4a1ca7b3eeea9e3336a2a2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/221b0d0fdf1369c71047ad1d18bb5880017bbc56",
"reference": "221b0d0fdf1369c71047ad1d18bb5880017bbc56",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/f103601b29efebd7ff4a1ca7b3eeea9e3336a2a2",
"reference": "f103601b29efebd7ff4a1ca7b3eeea9e3336a2a2",
"shasum": ""
},
"require": {
@@ -5468,7 +5471,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "5.0-dev"
"dev-master": "5.x-dev"
}
},
"autoload": {
@@ -5492,9 +5495,9 @@
],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
"source": "https://github.com/nikic/PHP-Parser/tree/v5.6.0"
"source": "https://github.com/nikic/PHP-Parser/tree/v5.6.1"
},
"time": "2025-07-27T20:03:57+00:00"
"time": "2025-08-13T20:13:15+00:00"
},
{
"name": "phar-io/manifest",
+3
View File
@@ -71,6 +71,9 @@ services:
- traefik.http.routers.appwrite_api_https.service=appwrite_api
- traefik.http.routers.appwrite_api_https.tls=true
volumes:
- /var/run/docker.sock:/var/run/docker.sock # Only needed for tests
- ./docker-compose.yml:/usr/src/code/docker-compose.yml # Only needed for tests
- ./.env:/usr/src/code/.env # Only needed for tests
- appwrite-uploads:/storage/uploads:rw
- appwrite-imports:/storage/imports:rw
- appwrite-cache:/storage/cache:rw
@@ -1,3 +1 @@
**WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.
Create new Documents. Before using this route, you should create a new collection resource using either a [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection) API or directly from your database console.
@@ -1,3 +1 @@
**WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.
Bulk delete documents using queries, if no queries are passed then all documents are deleted.
@@ -1,3 +1 @@
**WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.
Update all documents that match your queries, if no queries are submitted then all documents are updated. You can pass only specific fields to be updated.
@@ -1,3 +1 @@
**WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.
Create or update a Document. Before using this route, you should create a new collection resource using either a [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection) API or directly from your database console.
@@ -1,3 +1 @@
**WARNING: Experimental Feature** - This endpoint is experimental and not yet officially supported. It may be subject to breaking changes or removal in future versions.
Create or update Documents. Before using this route, you should create a new collection resource using either a [server integration](https://appwrite.io/docs/server/databases#databasesCreateCollection) API or directly from your database console.
@@ -205,7 +205,7 @@ class Create extends Base
}
if (!$current->isEmpty()) {
$jwtExpiry = $function->getAttribute('timeout', 900);
$jwtExpiry = $function->getAttribute('timeout', 900) + 60; // 1min extra to account for possible cold-starts
$jwtObj = new JWT(System::getEnv('_APP_OPENSSL_KEY_V1'), 'HS256', $jwtExpiry, 0);
$jwt = $jwtObj->encode([
'userId' => $user->getId(),
@@ -214,7 +214,7 @@ class Create extends Base
}
}
$jwtExpiry = $function->getAttribute('timeout', 900);
$jwtExpiry = $function->getAttribute('timeout', 900) + 60; // 1min extra to account for possible cold-starts
$jwtObj = new JWT(System::getEnv('_APP_OPENSSL_KEY_V1'), 'HS256', $jwtExpiry, 0);
$apiKey = $jwtObj->encode([
'projectId' => $project->getId(),
@@ -423,12 +423,22 @@ class Create extends Base
}
}
$maxLogLength = APP_FUNCTION_LOG_LENGTH_LIMIT;
$logs = $executionResponse['logs'] ?? '';
if (\is_string($logs) && \strlen($logs) > $maxLogLength) {
$warningMessage = "\n[WARNING] Logs truncated. The output exceeded {$maxLogLength} characters.";
$warningLength = \strlen($warningMessage);
$maxContentLength = $maxLogLength - $warningLength;
$logs = \substr($logs, 0, $maxContentLength) . $warningMessage;
}
/** Update execution status */
$status = $executionResponse['statusCode'] >= 500 ? 'failed' : 'completed';
$execution->setAttribute('status', $status);
$execution->setAttribute('responseStatusCode', $executionResponse['statusCode']);
$execution->setAttribute('responseHeaders', $headersFiltered);
$execution->setAttribute('logs', $executionResponse['logs']);
$execution->setAttribute('logs', $logs);
$execution->setAttribute('errors', $executionResponse['errors']);
$execution->setAttribute('duration', $executionResponse['duration']);
} catch (\Throwable $th) {
@@ -117,6 +117,8 @@ class Builds extends Action
Executor $executor,
array $plan
): void {
Console::log('Build action started');
$payload = $message->getPayload() ?? [];
if (empty($payload)) {
@@ -209,6 +211,8 @@ class Builds extends Action
Executor $executor,
array $plan
): void {
Console::info('Deployment action started');
$startTime = DateTime::now();
$durationStart = \microtime(true);
@@ -278,6 +282,8 @@ class Builds extends Action
$resource = $dbForProject->updateDocument($resource->getCollection(), $resource->getId(), new Document(['latestDeploymentStatus' => $deployment->getAttribute('status', '')]));
}
Console::log('Status marked as processing');
$queueForRealtime
->setPayload($deployment->getArrayCopy())
->trigger();
@@ -359,6 +365,8 @@ class Builds extends Action
$queueForRealtime
->setPayload($deployment->getArrayCopy())
->trigger();
Console::log('Template cloned');
}
} elseif ($isVcsEnabled) {
// VCS and VCS+Temaplte
@@ -401,6 +409,8 @@ class Builds extends Action
throw new \Exception('Unable to clone code repository: ' . $stderr);
}
Console::log('Git repository cloned');
// Local refactoring for function folder with spaces
if (str_contains($rootDirectory, ' ')) {
$rootDirectoryWithoutSpaces = str_replace(' ', '', $rootDirectory);
@@ -469,6 +479,8 @@ class Builds extends Action
$queueForRealtime
->setPayload($deployment->getArrayCopy())
->trigger();
Console::log('Git template pushed');
}
$tmpPath = '/tmp/builds/' . $deploymentId;
@@ -516,9 +528,13 @@ class Builds extends Action
->setPayload($deployment->getArrayCopy())
->trigger();
Console::log('Git source uploaded');
$this->runGitAction('processing', $github, $providerCommitHash, $owner, $repositoryName, $project, $resource, $deployment->getId(), $dbForProject, $dbForPlatform, $queueForRealtime);
}
Console::log('Status marked as building');
/** Request the executor to build the code... */
$deployment->setAttribute('status', 'building');
$deployment = $dbForProject->updateDocument('deployments', $deployment->getId(), $deployment);
@@ -662,6 +678,8 @@ class Builds extends Action
$isCanceled = false;
Console::log('Runtime creation started');
Co::join([
Co\go(function () use ($executor, &$response, $project, $deployment, $source, $resource, $runtime, $vars, $command, $cpus, $memory, $timeout, &$err, $version) {
try {
@@ -709,7 +727,10 @@ class Builds extends Action
command: $command,
outputDirectory: $resource->getAttribute('outputDirectory', '')
);
Console::log('createRuntime finished');
} catch (\Throwable $error) {
Console::warning('createRuntime failed');
$err = $error;
}
}),
@@ -798,7 +819,9 @@ class Builds extends Action
}
}
);
Console::warning('listLogs finished');
} catch (\Throwable $error) {
Console::warning('listLogs failed');
if (empty($err)) {
$err = $error;
}
@@ -806,6 +829,8 @@ class Builds extends Action
}),
]);
Console::log('Runtime creation finished');
if ($dbForProject->getDocument('deployments', $deploymentId)->getAttribute('status') === 'canceled') {
$this->cancelDeployment($deployment->getId(), $dbForProject, $queueForRealtime);
return;
@@ -860,6 +885,8 @@ class Builds extends Action
$deployment->setAttribute('adapter', $detection->getName());
$deployment->setAttribute('fallbackFile', $detection->getFallbackFile() ?? '');
Console::log('Adapter detected');
} elseif ($adapter === 'ssr' && $detection->getName() === 'static') {
throw new \Exception('Adapter mismatch. Detected: ' . $detection->getName() . ' does not match with the set adapter: ' . $adapter);
}
@@ -870,10 +897,15 @@ class Builds extends Action
->setPayload($deployment->getArrayCopy())
->trigger();
Console::log('Build details stored');
$this->afterBuildSuccess($queueForRealtime, $dbForProject, $deployment);
$logs = $deployment->getAttribute('buildLogs', '');
/** Screenshot site */
if ($resource->getCollection() === 'sites') {
Console::log('Site screenshot started');
$date = \date('H:i:s');
$logs .= "[$date] [appwrite] Screenshot capturing started. \n";
$deployment->setAttribute('buildLogs', $logs);
@@ -881,10 +913,7 @@ class Builds extends Action
$queueForRealtime
->setPayload($deployment->getArrayCopy())
->trigger();
}
/** Screenshot site */
if ($resource->getCollection() === 'sites') {
try {
$rule = Authorization::skip(fn () => $dbForPlatform->findOne('rules', [
Query::equal("projectInternalId", [$project->getSequence()]),
@@ -1049,6 +1078,8 @@ class Builds extends Action
$deployment->setAttribute('buildLogs', $logs);
$deployment = $dbForProject->updateDocument('deployments', $deployment->getId(), $deployment);
}
Console::log('Site screenshot finished');
}
$logs = $deployment->getAttribute('buildLogs', '');
@@ -1060,6 +1091,8 @@ class Builds extends Action
$deployment->setAttribute('status', 'ready');
$deployment = $dbForProject->updateDocument('deployments', $deploymentId, $deployment);
Console::log('Status marked as ready');
if ($deployment->getSequence() === $resource->getAttribute('latestDeploymentInternalId', '')) {
$resource = $dbForProject->updateDocument($resource->getCollection(), $resource->getId(), new Document(['latestDeploymentStatus' => $deployment->getAttribute('status', '')]));
}
@@ -1072,8 +1105,6 @@ class Builds extends Action
$this->runGitAction('ready', $github, $providerCommitHash, $owner, $repositoryName, $project, $resource, $deployment->getId(), $dbForProject, $dbForPlatform, $queueForRealtime);
}
Console::success("Build id: $deploymentId created");
/** Set auto deploy */
$activateBuild = false;
if ($deployment->getAttribute('activate') === true) {
@@ -1153,6 +1184,8 @@ class Builds extends Action
break;
}
Console::log('Deployment activated');
}
if ($resource->getCollection() === 'sites') {
@@ -1211,6 +1244,8 @@ class Builds extends Action
'deploymentInternalId' => $deployment->getSequence(),
]));
}, $queries);
Console::log('Preview rule created');
}
}
@@ -1228,6 +1263,8 @@ class Builds extends Action
return;
}
Console::log('Build duration updated');
/** Update function schedule */
// Inform scheduler if function is still active
@@ -1239,6 +1276,8 @@ class Builds extends Action
->setAttribute('active', !empty($resource->getAttribute('schedule')) && !empty($resource->getAttribute('deploymentId')));
Authorization::skip(fn () => $dbForPlatform->updateDocument('schedules', $schedule->getId(), $schedule));
}
Console::info('Deployment action finished');
} catch (\Throwable $th) {
Console::warning('Build failed:');
Console::error($th->getMessage());
+13 -3
View File
@@ -101,7 +101,7 @@ class Functions extends Action
}
if (empty($jwt) && !$user->isEmpty()) {
$jwtExpiry = $function->getAttribute('timeout', 900);
$jwtExpiry = $function->getAttribute('timeout', 900) + 60; // 1min extra to account for possible cold-starts
$jwtObj = new JWT(System::getEnv('_APP_OPENSSL_KEY_V1'), 'HS256', $jwtExpiry, 0);
$jwt = $jwtObj->encode([
'userId' => $user->getId(),
@@ -390,7 +390,7 @@ class Functions extends Action
$runtime = $runtimes[$function->getAttribute('runtime')];
$jwtExpiry = $function->getAttribute('timeout', 900);
$jwtExpiry = $function->getAttribute('timeout', 900) + 60; // 1min extra to account for possible cold-starts
$jwtObj = new JWT(System::getEnv('_APP_OPENSSL_KEY_V1'), 'HS256', $jwtExpiry, 0);
$apiKey = $jwtObj->encode([
'projectId' => $project->getId(),
@@ -551,11 +551,21 @@ class Functions extends Action
}
/** Update execution status */
$maxLogLength = APP_FUNCTION_LOG_LENGTH_LIMIT;
$logs = $executionResponse['logs'] ?? '';
if (\is_string($logs) && \strlen($logs) > $maxLogLength) {
$warningMessage = "\n[WARNING] Logs truncated. The output exceeded {$maxLogLength} characters.";
$warningLength = \strlen($warningMessage);
$maxContentLength = $maxLogLength - $warningLength;
$logs = \substr($logs, 0, $maxContentLength) . $warningMessage;
}
$execution
->setAttribute('status', $status)
->setAttribute('responseStatusCode', $executionResponse['statusCode'])
->setAttribute('responseHeaders', $headersFiltered)
->setAttribute('logs', $executionResponse['logs'])
->setAttribute('logs', $logs)
->setAttribute('errors', $executionResponse['errors'])
->setAttribute('duration', $executionResponse['duration']);
} catch (\Throwable $th) {
-12
View File
@@ -6,7 +6,6 @@ use Appwrite\Template\Template;
use Exception;
use PHPMailer\PHPMailer\PHPMailer;
use Swoole\Runtime;
use Utopia\CLI\Console;
use Utopia\Logger\Log;
use Utopia\Platform\Action;
use Utopia\Queue\Message;
@@ -149,17 +148,6 @@ class Mails extends Action
$mail->AltBody = \strip_tags($mail->AltBody);
$mail->AltBody = \trim($mail->AltBody);
if (\str_contains($mail->Body, 'buttonText') || \str_contains($mail->AltBody, 'buttonText')) {
Console::warning('Email might contain placeholder. Logs relevant to verify and isolate the issue:');
var_dump($mail->Body);
var_dump($mail->AltBody);
\var_dump($message->getPayload());
\var_dump($message->getPid());
\var_dump($message->getQueue());
\var_dump($message->getTimestamp());
Console::warning('End of placeholder detection report.');
}
$replyTo = System::getEnv('_APP_SYSTEM_EMAIL_ADDRESS', APP_EMAIL_TEAM);
$replyToName = \urldecode(System::getEnv('_APP_SYSTEM_EMAIL_NAME', APP_NAME . ' Server'));
+15 -1
View File
@@ -18,6 +18,7 @@ class Method
* @param string $namespace
* @param ?string $group
* @param string $name
* @param string $desc
* @param string $description
* @param array<AuthType> $auth
* @param array<SDKResponse> $responses
@@ -29,6 +30,7 @@ class Method
* @param ContentType $requestType
* @param array<Parameter> $parameters
* @param array $additionalParameters
* @param string $desc
*/
public function __construct(
protected string $namespace,
@@ -44,7 +46,8 @@ class Method
protected bool $packaging = false,
protected ContentType $requestType = ContentType::JSON,
protected array $parameters = [],
protected array $additionalParameters = []
protected array $additionalParameters = [],
protected string $desc = ''
) {
$this->validateMethod($name, $namespace);
$this->validateAuthTypes($auth);
@@ -137,6 +140,11 @@ class Method
return $this->name;
}
public function getDesc(): string
{
return $this->desc;
}
public function getDescription(): string
{
return $this->description;
@@ -220,6 +228,12 @@ class Method
return $this;
}
public function setDesc(string $desc): self
{
$this->desc = $desc;
return $this;
}
public function setDescription(string $description): self
{
$this->description = $description;
@@ -213,11 +213,13 @@ class OpenAPI3 extends Format
$additionalMethod = [
'name' => $method->getMethodName(),
'desc' => $method->getDesc() ?? '',
'auth' => \array_slice($methodSecurities, 0, $this->authCount),
'parameters' => [],
'required' => [],
'responses' => [],
'description' => ($desc) ? \file_get_contents($desc) : '',
'demo' => Template::fromCamelCaseToDash($namespace) . '/' . Template::fromCamelCaseToDash($method->getMethodName()) . '.md',
];
foreach ($method->getParameters() as $parameter) {
@@ -5569,6 +5569,15 @@ trait DatabasesBase
'x-appwrite-project' => $this->getProject()['$id'],
]));
$this->assertEquals(404, $notFound['headers']['status-code']);
// Test increment with value 0
$inc3 = $this->client->call(Client::METHOD_PATCH, "/databases/$databaseId/collections/$collectionId/documents/$docId/count/increment", array_merge([
'content-type' => 'application/json',
'x-appwrite-project' => $this->getProject()['$id'],
]), [
'value' => 0
]);
$this->assertEquals(400, $inc3['headers']['status-code']);
}
public function testDecrementAttribute(): void
@@ -5690,6 +5699,15 @@ trait DatabasesBase
'x-appwrite-project' => $this->getProject()['$id'],
]), ['value' => 'not-a-number']);
$this->assertEquals(400, $typeErr['headers']['status-code']);
// Test decrement with value 0
$inc3 = $this->client->call(Client::METHOD_PATCH, "/databases/$databaseId/collections/$collectionId/documents/$documentId/count/increment", array_merge([
'content-type' => 'application/json',
'x-appwrite-project' => $this->getProject()['$id'],
]), [
'value' => 0
]);
$this->assertEquals(400, $inc3['headers']['status-code']);
}
@@ -2282,4 +2282,34 @@ class FunctionsCustomServerTest extends Scope
$this->cleanupFunction($functionId);
}
public function testLogTruncation(): void
{
$functionId = $this->setupFunction([
'functionId' => ID::unique(),
'name' => 'Test Log Truncation',
'runtime' => 'node-22',
'entrypoint' => 'index.js',
'timeout' => 15,
]);
$this->setupDeployment($functionId, [
'code' => $this->packageFunction('log-truncation'),
'activate' => true
]);
$execution = $this->createExecution($functionId, [
'async' => 'false'
]);
$this->assertEquals(201, $execution['headers']['status-code']);
$this->assertEquals(200, $execution['body']['responseStatusCode']);
// Verify logs are truncated and warning message is present
$logs = $execution['body']['logs'];
$this->assertLessThanOrEqual(APP_FUNCTION_LOG_LENGTH_LIMIT, strlen($logs));
$this->assertStringContainsString('[WARNING] Logs truncated', $logs);
$this->cleanupFunction($functionId);
}
}
@@ -109,15 +109,11 @@ class ProxyCustomServerTest extends Scope
$rule = $this->createAPIRule('https://' . $domain);
$this->assertEquals(400, $rule['headers']['status-code']);
// Unexpected I would say, but it is the current behaviour
$rule = $this->createAPIRule('wss://' . $domain);
$this->assertEquals(201, $rule['headers']['status-code']);
$this->cleanupRule($rule['body']['$id']);
$this->assertEquals(400, $rule['headers']['status-code']);
// Unexpected I would say, but it is the current behaviour
$rule = $this->createAPIRule($domain . '/some-path');
$this->assertEquals(201, $rule['headers']['status-code']);
$this->cleanupRule($rule['body']['$id']);
$this->assertEquals(400, $rule['headers']['status-code']);
}
public function testCreateRedirectRule(): void
+17 -1
View File
@@ -3,6 +3,7 @@
namespace Tests\E2E\Services\Sites;
use Appwrite\Tests\Async;
use Appwrite\Tests\Async\Exceptions\Critical;
use CURLFile;
use Tests\E2E\Client;
use Utopia\CLI\Console;
@@ -48,8 +49,23 @@ trait SitesBase
'x-appwrite-project' => $this->getProject()['$id'],
'x-appwrite-key' => $this->getProject()['apiKey'],
]));
if ($deployment['body']['status'] === 'failed') {
throw new Critical('Deployment failed: ' . json_encode($deployment['body'], JSON_PRETTY_PRINT));
}
Console::execute("docker inspect openruntimes-executor --format='{{.State.ExitCode}}'", '', $this->stdout, $this->stderr);
if (\trim($this->stdout) !== '0') {
$msg = 'Executor has a problem: ' . $this->stderr . ' (' . $this->stdout . '), current status: ';
Console::execute("docker compose logs openruntimes-executor", '', $this->stdout, $this->stderr);
$msg .= $this->stdout . ' (' . $this->stderr . ')';
throw new Critical($msg . json_encode($deployment['body'], JSON_PRETTY_PRINT));
}
$this->assertEquals('ready', $deployment['body']['status'], 'Deployment status is not ready, deployment: ' . json_encode($deployment['body'], JSON_PRETTY_PRINT));
}, 150000, 500);
}, 300000, 500);
// Not === so multipart/form-data works fine too
if (($params['activate'] ?? false) == true) {
@@ -405,8 +405,10 @@ class SitesCustomServerTest extends Scope
]);
$this->assertNotEmpty($deploymentId);
$site = $this->getSite($siteId);
$this->assertEquals('ssr', $site['body']['adapter']);
$this->assertEventually(function () use ($siteId, &$site) {
$site = $this->getSite($siteId);
$this->assertEquals('ssr', $site['body']['adapter']);
});
$proxyClient = new Client();
$proxyClient->setEndpoint('http://' . $domain);
@@ -416,6 +418,7 @@ class SitesCustomServerTest extends Scope
$this->cleanupSite($siteId);
}
#[Retry(count: 3)]
public function testAdapterDetectionAstroStatic(): void
{
$siteId = $this->setupSite([
@@ -1507,6 +1510,7 @@ class SitesCustomServerTest extends Scope
$this->cleanupSite($siteId);
}
#[Retry(count: 3)]
public function testSiteTemplate(): void
{
$template = $this->getTemplate('playground-for-astro');
+3
View File
@@ -2,6 +2,7 @@
namespace Appwrite\Tests\Async;
use Appwrite\Tests\Async\Exceptions\Critical;
use PHPUnit\Framework\Constraint\Constraint;
final class Eventually extends Constraint
@@ -23,6 +24,8 @@ final class Eventually extends Constraint
try {
$probe();
return true;
} catch (Critical $exception) {
throw $exception;
} catch (\Exception $exception) {
$lastException = $exception;
}
@@ -0,0 +1,7 @@
<?php
namespace Appwrite\Tests\Async\Exceptions;
class Critical extends \Exception
{
}
@@ -0,0 +1,13 @@
module.exports = async(context) => {
// Create a string that is 1000001 characters long (exceeds the 1000000 limit)
const longString = 'a'.repeat(1000001);
context.log(longString);
return context.res.json({
motto: 'Build like a team of hundreds_',
learn: 'https://appwrite.io/docs',
connect: 'https://appwrite.io/discord',
getInspired: 'https://builtwith.appwrite.io',
});
};