diff --git a/app/config/locale/templates/email-base-styled.tpl b/app/config/locale/templates/email-base-styled.tpl
index 1979d560b5..81964b968f 100644
--- a/app/config/locale/templates/email-base-styled.tpl
+++ b/app/config/locale/templates/email-base-styled.tpl
@@ -187,7 +187,7 @@
@@ -225,7 +225,7 @@
|
@@ -234,7 +234,7 @@
|
@@ -242,7 +242,7 @@
|
@@ -252,15 +252,15 @@
- © {{year}} Appwrite | 251 Little Falls Drive, Wilmington 19808,
+ © {{year}} {{platform}} | 251 Little Falls Drive, Wilmington 19808,
Delaware, United States
diff --git a/app/config/platform.php b/app/config/platform.php
index b9d9dccbef..e44eaefa89 100644
--- a/app/config/platform.php
+++ b/app/config/platform.php
@@ -22,4 +22,5 @@ return [
'termsUrl' => APP_EMAIL_TERMS_URL,
'privacyUrl' => APP_EMAIL_PRIVACY_URL,
'websiteUrl' => 'https://' . APP_DOMAIN,
+ 'emailSenderName' => APP_EMAIL_PLATFORM_NAME,
];
diff --git a/app/config/specs/open-api3-1.8.x-client.json b/app/config/specs/open-api3-1.8.x-client.json
index ce119a5b2c..7724b1644a 100644
--- a/app/config/specs/open-api3-1.8.x-client.json
+++ b/app/config/specs/open-api3-1.8.x-client.json
@@ -6712,8 +6712,7 @@
"required": [
"databaseId",
"collectionId",
- "documentId",
- "data"
+ "documentId"
],
"responses": [
{
@@ -6782,7 +6781,7 @@
"data": {
"type": "object",
"description": "Document data as JSON object. Include all required attributes of the document to be created or updated.",
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":30,\"isAdmin\":false}"
},
"permissions": {
"type": "array",
@@ -6799,10 +6798,7 @@
"x-example": "",
"x-nullable": true
}
- },
- "required": [
- "data"
- ]
+ }
}
}
}
@@ -6904,7 +6900,7 @@
"data": {
"type": "object",
"description": "Document data as JSON object. Include only attribute and value pairs to be updated.",
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}"
},
"permissions": {
"type": "array",
@@ -10046,7 +10042,7 @@
"data": {
"type": "object",
"description": "Row data as JSON object. Include all required columns of the row to be created or updated.",
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}"
},
"permissions": {
"type": "array",
@@ -10164,7 +10160,7 @@
"data": {
"type": "object",
"description": "Row data as JSON object. Include only columns and value pairs to be updated.",
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}"
},
"permissions": {
"type": "array",
diff --git a/app/config/specs/open-api3-1.8.x-console.json b/app/config/specs/open-api3-1.8.x-console.json
index ae3b98970f..42088c617b 100644
--- a/app/config/specs/open-api3-1.8.x-console.json
+++ b/app/config/specs/open-api3-1.8.x-console.json
@@ -11516,7 +11516,7 @@
"data": {
"type": "object",
"description": "Document data as JSON object. Include only attribute and value pairs to be updated.",
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}"
},
"queries": {
"type": "array",
@@ -11814,8 +11814,7 @@
"required": [
"databaseId",
"collectionId",
- "documentId",
- "data"
+ "documentId"
],
"responses": [
{
@@ -11884,7 +11883,7 @@
"data": {
"type": "object",
"description": "Document data as JSON object. Include all required attributes of the document to be created or updated.",
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":30,\"isAdmin\":false}"
},
"permissions": {
"type": "array",
@@ -11901,10 +11900,7 @@
"x-example": "",
"x-nullable": true
}
- },
- "required": [
- "data"
- ]
+ }
}
}
}
@@ -12006,7 +12002,7 @@
"data": {
"type": "object",
"description": "Document data as JSON object. Include only attribute and value pairs to be updated.",
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}"
},
"permissions": {
"type": "array",
@@ -41806,7 +41802,7 @@
"data": {
"type": "object",
"description": "Row data as JSON object. Include only column and value pairs to be updated.",
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}"
},
"queries": {
"type": "array",
@@ -42166,7 +42162,7 @@
"data": {
"type": "object",
"description": "Row data as JSON object. Include all required columns of the row to be created or updated.",
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}"
},
"permissions": {
"type": "array",
@@ -42284,7 +42280,7 @@
"data": {
"type": "object",
"description": "Row data as JSON object. Include only columns and value pairs to be updated.",
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}"
},
"permissions": {
"type": "array",
@@ -60634,8 +60630,8 @@
},
"logs": {
"type": "string",
- "description": "Certificate generation logs. This will return an empty string if generation did not run, or succeeded.",
- "x-example": "HTTP challegne failed."
+ "description": "Logs from rule verification or certificate generation. Certificate generation logs are prioritized if both are available.",
+ "x-example": "Verification of DNS records failed with DNS resolver 8.8.8.8. Domain stage.myapp.com does not have DNS record."
},
"renewAt": {
"type": "string",
@@ -60674,7 +60670,7 @@
"deploymentResourceId": "n3u9feiwmf",
"deploymentVcsProviderBranch": "main",
"status": "verified",
- "logs": "HTTP challegne failed.",
+ "logs": "Verification of DNS records failed with DNS resolver 8.8.8.8. Domain stage.myapp.com does not have DNS record.",
"renewAt": "datetime"
}
},
diff --git a/app/config/specs/open-api3-1.8.x-server.json b/app/config/specs/open-api3-1.8.x-server.json
index 57c9d6ac31..ecb8bc4dcf 100644
--- a/app/config/specs/open-api3-1.8.x-server.json
+++ b/app/config/specs/open-api3-1.8.x-server.json
@@ -11031,7 +11031,7 @@
"data": {
"type": "object",
"description": "Document data as JSON object. Include only attribute and value pairs to be updated.",
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}"
},
"queries": {
"type": "array",
@@ -11333,8 +11333,7 @@
"required": [
"databaseId",
"collectionId",
- "documentId",
- "data"
+ "documentId"
],
"responses": [
{
@@ -11405,7 +11404,7 @@
"data": {
"type": "object",
"description": "Document data as JSON object. Include all required attributes of the document to be created or updated.",
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":30,\"isAdmin\":false}"
},
"permissions": {
"type": "array",
@@ -11422,10 +11421,7 @@
"x-example": "",
"x-nullable": true
}
- },
- "required": [
- "data"
- ]
+ }
}
}
}
@@ -11529,7 +11525,7 @@
"data": {
"type": "object",
"description": "Document data as JSON object. Include only attribute and value pairs to be updated.",
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}"
},
"permissions": {
"type": "array",
@@ -31514,7 +31510,7 @@
"data": {
"type": "object",
"description": "Row data as JSON object. Include only column and value pairs to be updated.",
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}"
},
"queries": {
"type": "array",
@@ -31880,7 +31876,7 @@
"data": {
"type": "object",
"description": "Row data as JSON object. Include all required columns of the row to be created or updated.",
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}"
},
"permissions": {
"type": "array",
@@ -32000,7 +31996,7 @@
"data": {
"type": "object",
"description": "Row data as JSON object. Include only columns and value pairs to be updated.",
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}"
},
"permissions": {
"type": "array",
diff --git a/app/config/specs/open-api3-latest-client.json b/app/config/specs/open-api3-latest-client.json
index ce119a5b2c..7724b1644a 100644
--- a/app/config/specs/open-api3-latest-client.json
+++ b/app/config/specs/open-api3-latest-client.json
@@ -6712,8 +6712,7 @@
"required": [
"databaseId",
"collectionId",
- "documentId",
- "data"
+ "documentId"
],
"responses": [
{
@@ -6782,7 +6781,7 @@
"data": {
"type": "object",
"description": "Document data as JSON object. Include all required attributes of the document to be created or updated.",
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":30,\"isAdmin\":false}"
},
"permissions": {
"type": "array",
@@ -6799,10 +6798,7 @@
"x-example": "",
"x-nullable": true
}
- },
- "required": [
- "data"
- ]
+ }
}
}
}
@@ -6904,7 +6900,7 @@
"data": {
"type": "object",
"description": "Document data as JSON object. Include only attribute and value pairs to be updated.",
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}"
},
"permissions": {
"type": "array",
@@ -10046,7 +10042,7 @@
"data": {
"type": "object",
"description": "Row data as JSON object. Include all required columns of the row to be created or updated.",
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}"
},
"permissions": {
"type": "array",
@@ -10164,7 +10160,7 @@
"data": {
"type": "object",
"description": "Row data as JSON object. Include only columns and value pairs to be updated.",
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}"
},
"permissions": {
"type": "array",
diff --git a/app/config/specs/open-api3-latest-console.json b/app/config/specs/open-api3-latest-console.json
index ae3b98970f..42088c617b 100644
--- a/app/config/specs/open-api3-latest-console.json
+++ b/app/config/specs/open-api3-latest-console.json
@@ -11516,7 +11516,7 @@
"data": {
"type": "object",
"description": "Document data as JSON object. Include only attribute and value pairs to be updated.",
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}"
},
"queries": {
"type": "array",
@@ -11814,8 +11814,7 @@
"required": [
"databaseId",
"collectionId",
- "documentId",
- "data"
+ "documentId"
],
"responses": [
{
@@ -11884,7 +11883,7 @@
"data": {
"type": "object",
"description": "Document data as JSON object. Include all required attributes of the document to be created or updated.",
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":30,\"isAdmin\":false}"
},
"permissions": {
"type": "array",
@@ -11901,10 +11900,7 @@
"x-example": "",
"x-nullable": true
}
- },
- "required": [
- "data"
- ]
+ }
}
}
}
@@ -12006,7 +12002,7 @@
"data": {
"type": "object",
"description": "Document data as JSON object. Include only attribute and value pairs to be updated.",
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}"
},
"permissions": {
"type": "array",
@@ -41806,7 +41802,7 @@
"data": {
"type": "object",
"description": "Row data as JSON object. Include only column and value pairs to be updated.",
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}"
},
"queries": {
"type": "array",
@@ -42166,7 +42162,7 @@
"data": {
"type": "object",
"description": "Row data as JSON object. Include all required columns of the row to be created or updated.",
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}"
},
"permissions": {
"type": "array",
@@ -42284,7 +42280,7 @@
"data": {
"type": "object",
"description": "Row data as JSON object. Include only columns and value pairs to be updated.",
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}"
},
"permissions": {
"type": "array",
@@ -60634,8 +60630,8 @@
},
"logs": {
"type": "string",
- "description": "Certificate generation logs. This will return an empty string if generation did not run, or succeeded.",
- "x-example": "HTTP challegne failed."
+ "description": "Logs from rule verification or certificate generation. Certificate generation logs are prioritized if both are available.",
+ "x-example": "Verification of DNS records failed with DNS resolver 8.8.8.8. Domain stage.myapp.com does not have DNS record."
},
"renewAt": {
"type": "string",
@@ -60674,7 +60670,7 @@
"deploymentResourceId": "n3u9feiwmf",
"deploymentVcsProviderBranch": "main",
"status": "verified",
- "logs": "HTTP challegne failed.",
+ "logs": "Verification of DNS records failed with DNS resolver 8.8.8.8. Domain stage.myapp.com does not have DNS record.",
"renewAt": "datetime"
}
},
diff --git a/app/config/specs/open-api3-latest-server.json b/app/config/specs/open-api3-latest-server.json
index 57c9d6ac31..ecb8bc4dcf 100644
--- a/app/config/specs/open-api3-latest-server.json
+++ b/app/config/specs/open-api3-latest-server.json
@@ -11031,7 +11031,7 @@
"data": {
"type": "object",
"description": "Document data as JSON object. Include only attribute and value pairs to be updated.",
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}"
},
"queries": {
"type": "array",
@@ -11333,8 +11333,7 @@
"required": [
"databaseId",
"collectionId",
- "documentId",
- "data"
+ "documentId"
],
"responses": [
{
@@ -11405,7 +11404,7 @@
"data": {
"type": "object",
"description": "Document data as JSON object. Include all required attributes of the document to be created or updated.",
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":30,\"isAdmin\":false}"
},
"permissions": {
"type": "array",
@@ -11422,10 +11421,7 @@
"x-example": "",
"x-nullable": true
}
- },
- "required": [
- "data"
- ]
+ }
}
}
}
@@ -11529,7 +11525,7 @@
"data": {
"type": "object",
"description": "Document data as JSON object. Include only attribute and value pairs to be updated.",
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}"
},
"permissions": {
"type": "array",
@@ -31514,7 +31510,7 @@
"data": {
"type": "object",
"description": "Row data as JSON object. Include only column and value pairs to be updated.",
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}"
},
"queries": {
"type": "array",
@@ -31880,7 +31876,7 @@
"data": {
"type": "object",
"description": "Row data as JSON object. Include all required columns of the row to be created or updated.",
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}"
},
"permissions": {
"type": "array",
@@ -32000,7 +31996,7 @@
"data": {
"type": "object",
"description": "Row data as JSON object. Include only columns and value pairs to be updated.",
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}"
},
"permissions": {
"type": "array",
diff --git a/app/config/specs/swagger2-1.8.x-client.json b/app/config/specs/swagger2-1.8.x-client.json
index ad85f3879e..3abbc9cde5 100644
--- a/app/config/specs/swagger2-1.8.x-client.json
+++ b/app/config/specs/swagger2-1.8.x-client.json
@@ -6793,8 +6793,7 @@
"required": [
"databaseId",
"collectionId",
- "documentId",
- "data"
+ "documentId"
],
"responses": [
{
@@ -6856,8 +6855,8 @@
"data": {
"type": "object",
"description": "Document data as JSON object. Include all required attributes of the document to be created or updated.",
- "default": {},
- "x-example": "{}"
+ "default": [],
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":30,\"isAdmin\":false}"
},
"permissions": {
"type": "array",
@@ -6876,10 +6875,7 @@
"x-example": "",
"x-nullable": true
}
- },
- "required": [
- "data"
- ]
+ }
}
}
]
@@ -6975,7 +6971,7 @@
"type": "object",
"description": "Document data as JSON object. Include only attribute and value pairs to be updated.",
"default": [],
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}"
},
"permissions": {
"type": "array",
@@ -10049,7 +10045,7 @@
"type": "object",
"description": "Row data as JSON object. Include all required columns of the row to be created or updated.",
"default": [],
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}"
},
"permissions": {
"type": "array",
@@ -10163,7 +10159,7 @@
"type": "object",
"description": "Row data as JSON object. Include only columns and value pairs to be updated.",
"default": [],
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}"
},
"permissions": {
"type": "array",
diff --git a/app/config/specs/swagger2-1.8.x-console.json b/app/config/specs/swagger2-1.8.x-console.json
index 589a6d57b5..c6565fe46c 100644
--- a/app/config/specs/swagger2-1.8.x-console.json
+++ b/app/config/specs/swagger2-1.8.x-console.json
@@ -11527,7 +11527,7 @@
"type": "object",
"description": "Document data as JSON object. Include only attribute and value pairs to be updated.",
"default": [],
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}"
},
"queries": {
"type": "array",
@@ -11815,8 +11815,7 @@
"required": [
"databaseId",
"collectionId",
- "documentId",
- "data"
+ "documentId"
],
"responses": [
{
@@ -11878,8 +11877,8 @@
"data": {
"type": "object",
"description": "Document data as JSON object. Include all required attributes of the document to be created or updated.",
- "default": {},
- "x-example": "{}"
+ "default": [],
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":30,\"isAdmin\":false}"
},
"permissions": {
"type": "array",
@@ -11898,10 +11897,7 @@
"x-example": "",
"x-nullable": true
}
- },
- "required": [
- "data"
- ]
+ }
}
}
]
@@ -11997,7 +11993,7 @@
"type": "object",
"description": "Document data as JSON object. Include only attribute and value pairs to be updated.",
"default": [],
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}"
},
"permissions": {
"type": "array",
@@ -41723,7 +41719,7 @@
"type": "object",
"description": "Row data as JSON object. Include only column and value pairs to be updated.",
"default": [],
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}"
},
"queries": {
"type": "array",
@@ -42067,7 +42063,7 @@
"type": "object",
"description": "Row data as JSON object. Include all required columns of the row to be created or updated.",
"default": [],
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}"
},
"permissions": {
"type": "array",
@@ -42181,7 +42177,7 @@
"type": "object",
"description": "Row data as JSON object. Include only columns and value pairs to be updated.",
"default": [],
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}"
},
"permissions": {
"type": "array",
@@ -60568,8 +60564,8 @@
},
"logs": {
"type": "string",
- "description": "Certificate generation logs. This will return an empty string if generation did not run, or succeeded.",
- "x-example": "HTTP challegne failed."
+ "description": "Logs from rule verification or certificate generation. Certificate generation logs are prioritized if both are available.",
+ "x-example": "Verification of DNS records failed with DNS resolver 8.8.8.8. Domain stage.myapp.com does not have DNS record."
},
"renewAt": {
"type": "string",
@@ -60608,7 +60604,7 @@
"deploymentResourceId": "n3u9feiwmf",
"deploymentVcsProviderBranch": "main",
"status": "verified",
- "logs": "HTTP challegne failed.",
+ "logs": "Verification of DNS records failed with DNS resolver 8.8.8.8. Domain stage.myapp.com does not have DNS record.",
"renewAt": "datetime"
}
},
diff --git a/app/config/specs/swagger2-1.8.x-server.json b/app/config/specs/swagger2-1.8.x-server.json
index e4337961f6..090a44e742 100644
--- a/app/config/specs/swagger2-1.8.x-server.json
+++ b/app/config/specs/swagger2-1.8.x-server.json
@@ -11032,7 +11032,7 @@
"type": "object",
"description": "Document data as JSON object. Include only attribute and value pairs to be updated.",
"default": [],
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}"
},
"queries": {
"type": "array",
@@ -11324,8 +11324,7 @@
"required": [
"databaseId",
"collectionId",
- "documentId",
- "data"
+ "documentId"
],
"responses": [
{
@@ -11389,8 +11388,8 @@
"data": {
"type": "object",
"description": "Document data as JSON object. Include all required attributes of the document to be created or updated.",
- "default": {},
- "x-example": "{}"
+ "default": [],
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":30,\"isAdmin\":false}"
},
"permissions": {
"type": "array",
@@ -11409,10 +11408,7 @@
"x-example": "",
"x-nullable": true
}
- },
- "required": [
- "data"
- ]
+ }
}
}
]
@@ -11510,7 +11506,7 @@
"type": "object",
"description": "Document data as JSON object. Include only attribute and value pairs to be updated.",
"default": [],
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}"
},
"permissions": {
"type": "array",
@@ -31497,7 +31493,7 @@
"type": "object",
"description": "Row data as JSON object. Include only column and value pairs to be updated.",
"default": [],
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}"
},
"queries": {
"type": "array",
@@ -31847,7 +31843,7 @@
"type": "object",
"description": "Row data as JSON object. Include all required columns of the row to be created or updated.",
"default": [],
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}"
},
"permissions": {
"type": "array",
@@ -31963,7 +31959,7 @@
"type": "object",
"description": "Row data as JSON object. Include only columns and value pairs to be updated.",
"default": [],
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}"
},
"permissions": {
"type": "array",
diff --git a/app/config/specs/swagger2-latest-client.json b/app/config/specs/swagger2-latest-client.json
index ad85f3879e..3abbc9cde5 100644
--- a/app/config/specs/swagger2-latest-client.json
+++ b/app/config/specs/swagger2-latest-client.json
@@ -6793,8 +6793,7 @@
"required": [
"databaseId",
"collectionId",
- "documentId",
- "data"
+ "documentId"
],
"responses": [
{
@@ -6856,8 +6855,8 @@
"data": {
"type": "object",
"description": "Document data as JSON object. Include all required attributes of the document to be created or updated.",
- "default": {},
- "x-example": "{}"
+ "default": [],
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":30,\"isAdmin\":false}"
},
"permissions": {
"type": "array",
@@ -6876,10 +6875,7 @@
"x-example": "",
"x-nullable": true
}
- },
- "required": [
- "data"
- ]
+ }
}
}
]
@@ -6975,7 +6971,7 @@
"type": "object",
"description": "Document data as JSON object. Include only attribute and value pairs to be updated.",
"default": [],
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}"
},
"permissions": {
"type": "array",
@@ -10049,7 +10045,7 @@
"type": "object",
"description": "Row data as JSON object. Include all required columns of the row to be created or updated.",
"default": [],
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}"
},
"permissions": {
"type": "array",
@@ -10163,7 +10159,7 @@
"type": "object",
"description": "Row data as JSON object. Include only columns and value pairs to be updated.",
"default": [],
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}"
},
"permissions": {
"type": "array",
diff --git a/app/config/specs/swagger2-latest-console.json b/app/config/specs/swagger2-latest-console.json
index 589a6d57b5..c6565fe46c 100644
--- a/app/config/specs/swagger2-latest-console.json
+++ b/app/config/specs/swagger2-latest-console.json
@@ -11527,7 +11527,7 @@
"type": "object",
"description": "Document data as JSON object. Include only attribute and value pairs to be updated.",
"default": [],
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}"
},
"queries": {
"type": "array",
@@ -11815,8 +11815,7 @@
"required": [
"databaseId",
"collectionId",
- "documentId",
- "data"
+ "documentId"
],
"responses": [
{
@@ -11878,8 +11877,8 @@
"data": {
"type": "object",
"description": "Document data as JSON object. Include all required attributes of the document to be created or updated.",
- "default": {},
- "x-example": "{}"
+ "default": [],
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":30,\"isAdmin\":false}"
},
"permissions": {
"type": "array",
@@ -11898,10 +11897,7 @@
"x-example": "",
"x-nullable": true
}
- },
- "required": [
- "data"
- ]
+ }
}
}
]
@@ -11997,7 +11993,7 @@
"type": "object",
"description": "Document data as JSON object. Include only attribute and value pairs to be updated.",
"default": [],
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}"
},
"permissions": {
"type": "array",
@@ -41723,7 +41719,7 @@
"type": "object",
"description": "Row data as JSON object. Include only column and value pairs to be updated.",
"default": [],
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}"
},
"queries": {
"type": "array",
@@ -42067,7 +42063,7 @@
"type": "object",
"description": "Row data as JSON object. Include all required columns of the row to be created or updated.",
"default": [],
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}"
},
"permissions": {
"type": "array",
@@ -42181,7 +42177,7 @@
"type": "object",
"description": "Row data as JSON object. Include only columns and value pairs to be updated.",
"default": [],
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}"
},
"permissions": {
"type": "array",
@@ -60568,8 +60564,8 @@
},
"logs": {
"type": "string",
- "description": "Certificate generation logs. This will return an empty string if generation did not run, or succeeded.",
- "x-example": "HTTP challegne failed."
+ "description": "Logs from rule verification or certificate generation. Certificate generation logs are prioritized if both are available.",
+ "x-example": "Verification of DNS records failed with DNS resolver 8.8.8.8. Domain stage.myapp.com does not have DNS record."
},
"renewAt": {
"type": "string",
@@ -60608,7 +60604,7 @@
"deploymentResourceId": "n3u9feiwmf",
"deploymentVcsProviderBranch": "main",
"status": "verified",
- "logs": "HTTP challegne failed.",
+ "logs": "Verification of DNS records failed with DNS resolver 8.8.8.8. Domain stage.myapp.com does not have DNS record.",
"renewAt": "datetime"
}
},
diff --git a/app/config/specs/swagger2-latest-server.json b/app/config/specs/swagger2-latest-server.json
index e4337961f6..090a44e742 100644
--- a/app/config/specs/swagger2-latest-server.json
+++ b/app/config/specs/swagger2-latest-server.json
@@ -11032,7 +11032,7 @@
"type": "object",
"description": "Document data as JSON object. Include only attribute and value pairs to be updated.",
"default": [],
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}"
},
"queries": {
"type": "array",
@@ -11324,8 +11324,7 @@
"required": [
"databaseId",
"collectionId",
- "documentId",
- "data"
+ "documentId"
],
"responses": [
{
@@ -11389,8 +11388,8 @@
"data": {
"type": "object",
"description": "Document data as JSON object. Include all required attributes of the document to be created or updated.",
- "default": {},
- "x-example": "{}"
+ "default": [],
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":30,\"isAdmin\":false}"
},
"permissions": {
"type": "array",
@@ -11409,10 +11408,7 @@
"x-example": "",
"x-nullable": true
}
- },
- "required": [
- "data"
- ]
+ }
}
}
]
@@ -11510,7 +11506,7 @@
"type": "object",
"description": "Document data as JSON object. Include only attribute and value pairs to be updated.",
"default": [],
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}"
},
"permissions": {
"type": "array",
@@ -31497,7 +31493,7 @@
"type": "object",
"description": "Row data as JSON object. Include only column and value pairs to be updated.",
"default": [],
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}"
},
"queries": {
"type": "array",
@@ -31847,7 +31843,7 @@
"type": "object",
"description": "Row data as JSON object. Include all required columns of the row to be created or updated.",
"default": [],
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}"
},
"permissions": {
"type": "array",
@@ -31963,7 +31959,7 @@
"type": "object",
"description": "Row data as JSON object. Include only columns and value pairs to be updated.",
"default": [],
- "x-example": "{}"
+ "x-example": "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}"
},
"permissions": {
"type": "array",
diff --git a/app/controllers/api/account.php b/app/controllers/api/account.php
index f18cb27834..7ff3a981d2 100644
--- a/app/controllers/api/account.php
+++ b/app/controllers/api/account.php
@@ -74,7 +74,7 @@ use Utopia\Validator\WhiteList;
$oauthDefaultSuccess = '/console/auth/oauth2/success';
$oauthDefaultFailure = '/console/auth/oauth2/failure';
-function sendSessionAlert(Locale $locale, Document $user, Document $project, Document $session, Mail $queueForMails)
+function sendSessionAlert(Locale $locale, Document $user, Document $project, array $platform, Document $session, Mail $queueForMails)
{
$subject = $locale->getText("emails.sessionAlert.subject");
$preview = $locale->getText("emails.sessionAlert.preview");
@@ -157,13 +157,18 @@ function sendSessionAlert(Locale $locale, Document $user, Document $project, Doc
$session->setAttribute('clientName', $clientName);
}
+ $projectName = $project->getAttribute('name');
+ if ($project->getId() === 'console') {
+ $projectName = $platform['platformName'];
+ }
+
$emailVariables = [
'direction' => $locale->getText('settings.direction'),
'date' => (new \DateTime())->format('F j'),
'year' => (new \DateTime())->format('YYYY'),
'time' => (new \DateTime())->format('H:i:s'),
'user' => $user->getAttribute('name'),
- 'project' => $project->getAttribute('name'),
+ 'project' => $projectName,
'device' => $session->getAttribute('clientName'),
'ipAddress' => $session->getAttribute('ip'),
'country' => $locale->getText('countries.' . $session->getAttribute('countryCode'), $locale->getText('locale.country.unknown')),
@@ -171,13 +176,14 @@ function sendSessionAlert(Locale $locale, Document $user, Document $project, Doc
if ($smtpBaseTemplate === APP_BRANDED_EMAIL_BASE_TEMPLATE) {
$emailVariables = array_merge($emailVariables, [
- 'accentColor' => APP_EMAIL_ACCENT_COLOR,
- 'logoUrl' => APP_EMAIL_LOGO_URL,
- 'twitterUrl' => APP_SOCIAL_TWITTER,
- 'discordUrl' => APP_SOCIAL_DISCORD,
- 'githubUrl' => APP_SOCIAL_GITHUB_APPWRITE,
- 'termsUrl' => APP_EMAIL_TERMS_URL,
- 'privacyUrl' => APP_EMAIL_PRIVACY_URL,
+ 'accentColor' => $platform['accentColor'],
+ 'logoUrl' => $platform['logoUrl'],
+ 'twitter' => $platform['twitterUrl'],
+ 'discord' => $platform['discordUrl'],
+ 'github' => $platform['githubUrl'],
+ 'terms' => $platform['termsUrl'],
+ 'privacy' => $platform['privacyUrl'],
+ 'platform' => $platform['platformName'],
]);
}
@@ -189,12 +195,18 @@ function sendSessionAlert(Locale $locale, Document $user, Document $project, Doc
->setBody($body)
->setBodyTemplate($bodyTemplate)
->setVariables($emailVariables)
- ->setRecipient($email)
- ->trigger();
-}
-;
+ ->setRecipient($email);
-$createSession = function (string $userId, string $secret, Request $request, Response $response, User $user, Database $dbForProject, Document $project, Locale $locale, Reader $geodb, Event $queueForEvents, Mail $queueForMails, Store $store, ProofsToken $proofForToken, ProofsCode $proofForCode) {
+ // since this is console project, set email sender name!
+ if ($smtpBaseTemplate === APP_BRANDED_EMAIL_BASE_TEMPLATE) {
+ $queueForMails->setSenderName($platform['emailSenderName']);
+ }
+
+ $queueForMails->trigger();
+}
+
+
+$createSession = function (string $userId, string $secret, Request $request, Response $response, User $user, Database $dbForProject, Document $project, array $platform, Locale $locale, Reader $geodb, Event $queueForEvents, Mail $queueForMails, Store $store, ProofsToken $proofForToken, ProofsCode $proofForCode) {
/** @var Appwrite\Utopia\Database\Documents\User $userFromRequest */
$userFromRequest = Authorization::skip(fn () => $dbForProject->getDocument('users', $userId));
@@ -295,7 +307,7 @@ $createSession = function (string $userId, string $secret, Request $request, Res
]) !== 1;
if ($isAllowedTokenType && $hasUserEmail && $isSessionAlertsEnabled && $isNotFirstSession) {
- sendSessionAlert($locale, $user, $project, $session, $queueForMails);
+ sendSessionAlert($locale, $user, $project, $platform, $session, $queueForMails);
}
$queueForEvents
@@ -953,6 +965,7 @@ App::post('/v1/account/sessions/email')
->inject('user')
->inject('dbForProject')
->inject('project')
+ ->inject('platform')
->inject('locale')
->inject('geodb')
->inject('queueForEvents')
@@ -961,7 +974,7 @@ App::post('/v1/account/sessions/email')
->inject('store')
->inject('proofForPassword')
->inject('proofForToken')
- ->action(function (string $email, string $password, Request $request, Response $response, User $user, Database $dbForProject, Document $project, Locale $locale, Reader $geodb, Event $queueForEvents, Mail $queueForMails, Hooks $hooks, Store $store, ProofsPassword $proofForPassword, ProofsToken $proofForToken) {
+ ->action(function (string $email, string $password, Request $request, Response $response, User $user, Database $dbForProject, Document $project, array $platform, Locale $locale, Reader $geodb, Event $queueForEvents, Mail $queueForMails, Hooks $hooks, Store $store, ProofsPassword $proofForPassword, ProofsToken $proofForToken) {
$email = \strtolower($email);
$protocol = $request->getProtocol();
@@ -1062,7 +1075,7 @@ App::post('/v1/account/sessions/email')
Query::equal('userId', [$user->getId()]),
]) !== 1
) {
- sendSessionAlert($locale, $user, $project, $session, $queueForMails);
+ sendSessionAlert($locale, $user, $project, $platform, $session, $queueForMails);
}
}
@@ -1250,6 +1263,7 @@ App::post('/v1/account/sessions/token')
->inject('user')
->inject('dbForProject')
->inject('project')
+ ->inject('platform')
->inject('locale')
->inject('geodb')
->inject('queueForEvents')
@@ -2251,11 +2265,16 @@ App::post('/v1/account/tokens/magic-url')
->setSmtpSenderName($senderName);
}
+ $projectName = $project->getAttribute('name');
+ if ($project->getId() === 'console') {
+ $projectName = $platform['platformName'];
+ }
+
$emailVariables = [
'direction' => $locale->getText('settings.direction'),
// {{user}}, {{redirect}} and {{project}} are required in default and custom templates
'user' => $user->getAttribute('name'),
- 'project' => $project->getAttribute('name'),
+ 'project' => $projectName,
'redirect' => $url,
'agentDevice' => $agentDevice['deviceBrand'] ?? $agentDevice['deviceBrand'] ?? 'UNKNOWN',
'agentClient' => $agentClient['clientName'] ?? 'UNKNOWN',
@@ -2270,8 +2289,13 @@ App::post('/v1/account/tokens/magic-url')
->setPreview($preview)
->setBody($body)
->setVariables($emailVariables)
- ->setRecipient($email)
- ->trigger();
+ ->setRecipient($email);
+
+ if ($project->getId() === 'console') {
+ $queueForMails->setSenderName($platform['emailSenderName']);
+ }
+
+ $queueForMails->trigger();
$token->setAttribute('secret', $tokenSecret);
@@ -2318,13 +2342,14 @@ App::post('/v1/account/tokens/email')
->inject('response')
->inject('user')
->inject('project')
+ ->inject('platform')
->inject('dbForProject')
->inject('locale')
->inject('queueForEvents')
->inject('queueForMails')
->inject('proofForPassword')
->inject('proofForCode')
- ->action(function (string $userId, string $email, bool $phrase, Request $request, Response $response, User $user, Document $project, Database $dbForProject, Locale $locale, Event $queueForEvents, Mail $queueForMails, ProofsPassword $proofForPassword, ProofsCode $proofForCode) {
+ ->action(function (string $userId, string $email, bool $phrase, Request $request, Response $response, User $user, Document $project, array $platform, Database $dbForProject, Locale $locale, Event $queueForEvents, Mail $queueForMails, ProofsPassword $proofForPassword, ProofsCode $proofForCode) {
if (empty(System::getEnv('_APP_SMTP_HOST'))) {
throw new Exception(Exception::GENERAL_SMTP_DISABLED, 'SMTP disabled');
}
@@ -2525,12 +2550,17 @@ App::post('/v1/account/tokens/email')
->setSmtpSenderName($senderName);
}
+ $projectName = $project->getAttribute('name');
+ if ($project->getId() === 'console') {
+ $projectName = $platform['platformName'];
+ }
+
$emailVariables = [
'heading' => $heading,
'direction' => $locale->getText('settings.direction'),
// {{user}}, {{project}} and {{otp}} are required in the templates
'user' => $user->getAttribute('name'),
- 'project' => $project->getAttribute('name'),
+ 'project' => $projectName,
'otp' => $tokenSecret,
'agentDevice' => $agentDevice['deviceBrand'] ?? $agentDevice['deviceBrand'] ?? 'UNKNOWN',
'agentClient' => $agentClient['clientName'] ?? 'UNKNOWN',
@@ -2542,13 +2572,14 @@ App::post('/v1/account/tokens/email')
if ($smtpBaseTemplate === APP_BRANDED_EMAIL_BASE_TEMPLATE) {
$emailVariables = array_merge($emailVariables, [
- 'accentColor' => APP_EMAIL_ACCENT_COLOR,
- 'logoUrl' => APP_EMAIL_LOGO_URL,
- 'twitterUrl' => APP_SOCIAL_TWITTER,
- 'discordUrl' => APP_SOCIAL_DISCORD,
- 'githubUrl' => APP_SOCIAL_GITHUB_APPWRITE,
- 'termsUrl' => APP_EMAIL_TERMS_URL,
- 'privacyUrl' => APP_EMAIL_PRIVACY_URL,
+ 'accentColor' => $platform['accentColor'],
+ 'logoUrl' => $platform['logoUrl'],
+ 'twitter' => $platform['twitterUrl'],
+ 'discord' => $platform['discordUrl'],
+ 'github' => $platform['githubUrl'],
+ 'terms' => $platform['termsUrl'],
+ 'privacy' => $platform['privacyUrl'],
+ 'platform' => $platform['platformName'],
]);
}
@@ -2558,8 +2589,14 @@ App::post('/v1/account/tokens/email')
->setBody($body)
->setBodyTemplate($bodyTemplate)
->setVariables($emailVariables)
- ->setRecipient($email)
- ->trigger();
+ ->setRecipient($email);
+
+ // since this is console project, set email sender name!
+ if ($smtpBaseTemplate === APP_BRANDED_EMAIL_BASE_TEMPLATE) {
+ $queueForMails->setSenderName($platform['emailSenderName']);
+ }
+
+ $queueForMails->trigger();
$token->setAttribute('secret', $tokenSecret);
@@ -2610,16 +2647,17 @@ App::put('/v1/account/sessions/magic-url')
->inject('user')
->inject('dbForProject')
->inject('project')
+ ->inject('platform')
->inject('locale')
->inject('geodb')
->inject('queueForEvents')
->inject('queueForMails')
->inject('store')
->inject('proofForCode')
- ->action(function ($userId, $secret, $request, $response, $user, $dbForProject, $project, $locale, $geodb, $queueForEvents, $queueForMails, $store, $proofForCode) use ($createSession) {
+ ->action(function ($userId, $secret, $request, $response, $user, $dbForProject, $project, $platform, $locale, $geodb, $queueForEvents, $queueForMails, $store, $proofForCode) use ($createSession) {
$proofForToken = new ProofsToken(TOKEN_LENGTH_MAGIC_URL);
$proofForToken->setHash(new Sha());
- $createSession($userId, $secret, $request, $response, $user, $dbForProject, $project, $locale, $geodb, $queueForEvents, $queueForMails, $store, $proofForToken, $proofForCode);
+ $createSession($userId, $secret, $request, $response, $user, $dbForProject, $project, $platform, $locale, $geodb, $queueForEvents, $queueForMails, $store, $proofForToken, $proofForCode);
});
App::put('/v1/account/sessions/phone')
@@ -2657,6 +2695,7 @@ App::put('/v1/account/sessions/phone')
->inject('user')
->inject('dbForProject')
->inject('project')
+ ->inject('platform')
->inject('locale')
->inject('geodb')
->inject('queueForEvents')
@@ -2697,6 +2736,7 @@ App::post('/v1/account/tokens/phone')
->inject('response')
->inject('user')
->inject('project')
+ ->inject('platform')
->inject('dbForProject')
->inject('queueForEvents')
->inject('queueForMessaging')
@@ -2706,7 +2746,7 @@ App::post('/v1/account/tokens/phone')
->inject('plan')
->inject('store')
->inject('proofForCode')
- ->action(function (string $userId, string $phone, Request $request, Response $response, User $user, Document $project, Database $dbForProject, Event $queueForEvents, Messaging $queueForMessaging, Locale $locale, callable $timelimit, StatsUsage $queueForStatsUsage, array $plan, Store $store, ProofsCode $proofForCode) {
+ ->action(function (string $userId, string $phone, Request $request, Response $response, User $user, Document $project, array $platform, Database $dbForProject, Event $queueForEvents, Messaging $queueForMessaging, Locale $locale, callable $timelimit, StatsUsage $queueForStatsUsage, array $plan, Store $store, ProofsCode $proofForCode) {
if (empty(System::getEnv('_APP_SMS_PROVIDER'))) {
throw new Exception(Exception::GENERAL_PHONE_DISABLED, 'Phone provider not configured');
}
@@ -2823,9 +2863,14 @@ App::post('/v1/account/tokens/phone')
$message = $customTemplate['message'] ?? $message;
}
+ $projectName = $project->getAttribute('name');
+ if ($project->getId() === 'console') {
+ $projectName = $platform['platformName'];
+ }
+
$messageContent = Template::fromString($locale->getText("sms.verification.body"));
$messageContent
- ->setParam('{{project}}', $project->getAttribute('name'))
+ ->setParam('{{project}}', $projectName)
->setParam('{{secret}}', $secret);
$messageContent = \strip_tags($messageContent->render());
$message = $message->setParam('{{token}}', $messageContent);
@@ -3473,15 +3518,16 @@ App::post('/v1/account/recovery')
->inject('user')
->inject('dbForProject')
->inject('project')
+ ->inject('platform')
->inject('locale')
->inject('queueForMails')
->inject('queueForEvents')
->inject('proofForToken')
- ->action(function (string $email, string $url, Request $request, Response $response, User $user, Database $dbForProject, Document $project, Locale $locale, Mail $queueForMails, Event $queueForEvents, ProofsToken $proofForToken) {
-
+ ->action(function (string $email, string $url, Request $request, Response $response, User $user, Database $dbForProject, Document $project, array $platform, Locale $locale, Mail $queueForMails, Event $queueForEvents, ProofsToken $proofForToken) {
if (empty(System::getEnv('_APP_SMTP_HOST'))) {
throw new Exception(Exception::GENERAL_SMTP_DISABLED, 'SMTP Disabled');
}
+
$url = htmlentities($url);
$email = \strtolower($email);
@@ -3528,7 +3574,14 @@ App::post('/v1/account/recovery')
$url['query'] = Template::mergeQuery(((isset($url['query'])) ? $url['query'] : ''), ['userId' => $profile->getId(), 'secret' => $secret, 'expire' => $expire]);
$url = Template::unParseURL($url);
- $projectName = $project->isEmpty() ? 'Console' : $project->getAttribute('name', '[APP-NAME]');
+ $projectName = $project->isEmpty()
+ ? 'Console'
+ : $project->getAttribute('name', '[APP-NAME]');
+
+ if ($project->getId() === 'console') {
+ $projectName = $platform['platformName'];
+ }
+
$body = $locale->getText("emails.recovery.body");
$subject = $locale->getText("emails.recovery.subject");
$preview = $locale->getText("emails.recovery.preview");
@@ -3606,8 +3659,13 @@ App::post('/v1/account/recovery')
->setBody($body)
->setVariables($emailVariables)
->setSubject($subject)
- ->setPreview($preview)
- ->trigger();
+ ->setPreview($preview);
+
+ if ($project->getId() === 'console') {
+ $queueForMails->setSenderName($platform['emailSenderName']);
+ }
+
+ $queueForMails->trigger();
$recovery->setAttribute('secret', $secret);
@@ -3767,13 +3825,14 @@ App::post('/v1/account/verifications/email')
->inject('request')
->inject('response')
->inject('project')
+ ->inject('platform')
->inject('user')
->inject('dbForProject')
->inject('locale')
->inject('queueForEvents')
->inject('queueForMails')
->inject('proofForToken')
- ->action(function (string $url, Request $request, Response $response, Document $project, User $user, Database $dbForProject, Locale $locale, Event $queueForEvents, Mail $queueForMails, ProofsToken $proofForToken) {
+ ->action(function (string $url, Request $request, Response $response, Document $project, array $platform, User $user, Database $dbForProject, Locale $locale, Event $queueForEvents, Mail $queueForMails, ProofsToken $proofForToken) {
if (empty(System::getEnv('_APP_SMTP_HOST'))) {
throw new Exception(Exception::GENERAL_SMTP_DISABLED, 'SMTP Disabled');
@@ -3817,7 +3876,15 @@ App::post('/v1/account/verifications/email')
$url['query'] = Template::mergeQuery(((isset($url['query'])) ? $url['query'] : ''), ['userId' => $user->getId(), 'secret' => $verificationSecret, 'expire' => $expire]);
$url = Template::unParseURL($url);
- $projectName = $project->isEmpty() ? 'Console' : $project->getAttribute('name', '[APP-NAME]');
+ $projectName = $project->isEmpty()
+ ? 'Console'
+ : $project->getAttribute('name', '[APP-NAME]');
+
+ if ($project->getId() === 'console') {
+ $projectName = $platform['platformName'];
+ }
+
+
$body = $locale->getText("emails.verification.body");
$preview = $locale->getText("emails.verification.preview");
$subject = $locale->getText("emails.verification.subject");
@@ -3903,13 +3970,14 @@ App::post('/v1/account/verifications/email')
if ($smtpBaseTemplate === APP_BRANDED_EMAIL_BASE_TEMPLATE) {
$emailVariables = array_merge($emailVariables, [
- 'accentColor' => APP_EMAIL_ACCENT_COLOR,
- 'logoUrl' => APP_EMAIL_LOGO_URL,
- 'twitterUrl' => APP_SOCIAL_TWITTER,
- 'discordUrl' => APP_SOCIAL_DISCORD,
- 'githubUrl' => APP_SOCIAL_GITHUB_APPWRITE,
- 'termsUrl' => APP_EMAIL_TERMS_URL,
- 'privacyUrl' => APP_EMAIL_PRIVACY_URL,
+ 'accentColor' => $platform['accentColor'],
+ 'logoUrl' => $platform['logoUrl'],
+ 'twitter' => $platform['twitterUrl'],
+ 'discord' => $platform['discordUrl'],
+ 'github' => $platform['githubUrl'],
+ 'terms' => $platform['termsUrl'],
+ 'privacy' => $platform['privacyUrl'],
+ 'platform' => $platform['platformName'],
]);
}
@@ -3920,8 +3988,13 @@ App::post('/v1/account/verifications/email')
->setBodyTemplate($bodyTemplate)
->setVariables($emailVariables)
->setRecipient($user->getAttribute('email'))
- ->setName($user->getAttribute('name') ?? '')
- ->trigger();
+ ->setName($user->getAttribute('name') ?? '');
+
+ if ($project->getId() === 'console') {
+ $queueForMails->setSenderName($platform['emailSenderName']);
+ }
+
+ $queueForMails->trigger();
$verification->setAttribute('secret', $verificationSecret);
diff --git a/app/controllers/api/migrations.php b/app/controllers/api/migrations.php
index 41b98ab333..3989ad3298 100644
--- a/app/controllers/api/migrations.php
+++ b/app/controllers/api/migrations.php
@@ -69,10 +69,11 @@ App::post('/v1/migrations/appwrite')
->inject('response')
->inject('dbForProject')
->inject('project')
+ ->inject('platform')
->inject('user')
->inject('queueForEvents')
->inject('queueForMigrations')
- ->action(function (array $resources, string $endpoint, string $projectId, string $apiKey, Response $response, Database $dbForProject, Document $project, Document $user, Event $queueForEvents, Migration $queueForMigrations) {
+ ->action(function (array $resources, string $endpoint, string $projectId, string $apiKey, Response $response, Database $dbForProject, Document $project, array $platform, Document $user, Event $queueForEvents, Migration $queueForMigrations) {
$migration = $dbForProject->createDocument('migrations', new Document([
'$id' => ID::unique(),
'status' => 'pending',
@@ -96,6 +97,7 @@ App::post('/v1/migrations/appwrite')
$queueForMigrations
->setMigration($migration)
->setProject($project)
+ ->setPlatform($platform)
->setUser($user)
->trigger();
@@ -128,10 +130,11 @@ App::post('/v1/migrations/firebase')
->inject('response')
->inject('dbForProject')
->inject('project')
+ ->inject('platform')
->inject('user')
->inject('queueForEvents')
->inject('queueForMigrations')
- ->action(function (array $resources, string $serviceAccount, Response $response, Database $dbForProject, Document $project, Document $user, Event $queueForEvents, Migration $queueForMigrations) {
+ ->action(function (array $resources, string $serviceAccount, Response $response, Database $dbForProject, Document $project, array $platform, Document $user, Event $queueForEvents, Migration $queueForMigrations) {
$serviceAccountData = json_decode($serviceAccount, true);
if (empty($serviceAccountData)) {
@@ -163,6 +166,7 @@ App::post('/v1/migrations/firebase')
$queueForMigrations
->setMigration($migration)
->setProject($project)
+ ->setPlatform($platform)
->setUser($user)
->trigger();
@@ -200,10 +204,11 @@ App::post('/v1/migrations/supabase')
->inject('response')
->inject('dbForProject')
->inject('project')
+ ->inject('platform')
->inject('user')
->inject('queueForEvents')
->inject('queueForMigrations')
- ->action(function (array $resources, string $endpoint, string $apiKey, string $databaseHost, string $username, string $password, int $port, Response $response, Database $dbForProject, Document $project, Document $user, Event $queueForEvents, Migration $queueForMigrations) {
+ ->action(function (array $resources, string $endpoint, string $apiKey, string $databaseHost, string $username, string $password, int $port, Response $response, Database $dbForProject, Document $project, array $platform, Document $user, Event $queueForEvents, Migration $queueForMigrations) {
$migration = $dbForProject->createDocument('migrations', new Document([
'$id' => ID::unique(),
'status' => 'pending',
@@ -230,6 +235,7 @@ App::post('/v1/migrations/supabase')
$queueForMigrations
->setMigration($migration)
->setProject($project)
+ ->setPlatform($platform)
->setUser($user)
->trigger();
@@ -268,10 +274,11 @@ App::post('/v1/migrations/nhost')
->inject('response')
->inject('dbForProject')
->inject('project')
+ ->inject('platform')
->inject('user')
->inject('queueForEvents')
->inject('queueForMigrations')
- ->action(function (array $resources, string $subdomain, string $region, string $adminSecret, string $database, string $username, string $password, int $port, Response $response, Database $dbForProject, Document $project, Document $user, Event $queueForEvents, Migration $queueForMigrations) {
+ ->action(function (array $resources, string $subdomain, string $region, string $adminSecret, string $database, string $username, string $password, int $port, Response $response, Database $dbForProject, Document $project, array $platform, Document $user, Event $queueForEvents, Migration $queueForMigrations) {
$migration = $dbForProject->createDocument('migrations', new Document([
'$id' => ID::unique(),
'status' => 'pending',
@@ -299,6 +306,7 @@ App::post('/v1/migrations/nhost')
$queueForMigrations
->setMigration($migration)
->setProject($project)
+ ->setPlatform($platform)
->setUser($user)
->trigger();
@@ -335,6 +343,7 @@ App::post('/v1/migrations/csv/imports')
->inject('dbForProject')
->inject('dbForPlatform')
->inject('project')
+ ->inject('platform')
->inject('deviceForFiles')
->inject('deviceForMigrations')
->inject('queueForEvents')
@@ -348,6 +357,7 @@ App::post('/v1/migrations/csv/imports')
Database $dbForProject,
Database $dbForPlatform,
Document $project,
+ array $platform,
Device $deviceForFiles,
Device $deviceForMigrations,
Event $queueForEvents,
@@ -441,6 +451,7 @@ App::post('/v1/migrations/csv/imports')
$queueForMigrations
->setMigration($migration)
->setProject($project)
+ ->setProject($project)
->trigger();
$response
@@ -481,6 +492,7 @@ App::post('/v1/migrations/csv/exports')
->inject('dbForProject')
->inject('dbForPlatform')
->inject('project')
+ ->inject('platform')
->inject('queueForEvents')
->inject('queueForMigrations')
->action(function (
@@ -498,6 +510,7 @@ App::post('/v1/migrations/csv/exports')
Database $dbForProject,
Database $dbForPlatform,
Document $project,
+ array $platform,
Event $queueForEvents,
Migration $queueForMigrations
) {
@@ -571,6 +584,7 @@ App::post('/v1/migrations/csv/exports')
$queueForMigrations
->setMigration($migration)
->setProject($project)
+ ->setPlatform($platform)
->trigger();
$response
@@ -903,9 +917,10 @@ App::patch('/v1/migrations/:migrationId')
->inject('response')
->inject('dbForProject')
->inject('project')
+ ->inject('platform')
->inject('user')
->inject('queueForMigrations')
- ->action(function (string $migrationId, Response $response, Database $dbForProject, Document $project, Document $user, Migration $queueForMigrations) {
+ ->action(function (string $migrationId, Response $response, Database $dbForProject, Document $project, array $platform, Document $user, Migration $queueForMigrations) {
$migration = $dbForProject->getDocument('migrations', $migrationId);
if ($migration->isEmpty()) {
@@ -924,6 +939,7 @@ App::patch('/v1/migrations/:migrationId')
$queueForMigrations
->setMigration($migration)
->setProject($project)
+ ->setPlatform($platform)
->setUser($user)
->trigger();
diff --git a/app/init/constants.php b/app/init/constants.php
index af5aa7a000..78b8e3a5ae 100644
--- a/app/init/constants.php
+++ b/app/init/constants.php
@@ -60,6 +60,7 @@ const APP_DATABASE_TIMEOUT_MILLISECONDS_API = 15 * 1000; // 15 seconds
const APP_DATABASE_TIMEOUT_MILLISECONDS_WORKER = 300 * 1000; // 5 minutes
const APP_DATABASE_TIMEOUT_MILLISECONDS_TASK = 300 * 1000; // 5 minutes
const APP_DATABASE_QUERY_MAX_VALUES = 500;
+const APP_DATABASE_QUERY_MAX_VALUES_WORKER = 5000;
const APP_DATABASE_ENCRYPT_SIZE_MIN = 150;
const APP_DATABASE_TXN_TTL_MIN = 60; // 1 minute
const APP_DATABASE_TXN_TTL_MAX = 3600; // 1 hour
diff --git a/app/init/resources.php b/app/init/resources.php
index 99476c695f..672fcd8b4e 100644
--- a/app/init/resources.php
+++ b/app/init/resources.php
@@ -281,6 +281,7 @@ App::setResource('cors', fn (array $allowedHostnames) => new Cors(
'X-SDK-Language',
'X-SDK-Platform',
'X-SDK-GraphQL',
+ 'X-SDK-Profile',
// Caching
'Range',
'Cache-Control',
diff --git a/app/worker.php b/app/worker.php
index 468408e76d..76f3bb9e8a 100644
--- a/app/worker.php
+++ b/app/worker.php
@@ -183,7 +183,7 @@ Server::setResource('getLogsDB', function (Group $pools, Cache $cache) {
->setSharedTables(true)
->setNamespace('logsV1')
->setTimeout(APP_DATABASE_TIMEOUT_MILLISECONDS_WORKER)
- ->setMaxQueryValues(APP_DATABASE_QUERY_MAX_VALUES);
+ ->setMaxQueryValues(APP_DATABASE_QUERY_MAX_VALUES_WORKER);
// set tenant
if ($project !== null && !$project->isEmpty() && $project->getId() !== 'console') {
diff --git a/docs/examples/1.8.x/client-android/java/databases/update-document.md b/docs/examples/1.8.x/client-android/java/databases/update-document.md
index 0f13f74e08..74e4244cc6 100644
--- a/docs/examples/1.8.x/client-android/java/databases/update-document.md
+++ b/docs/examples/1.8.x/client-android/java/databases/update-document.md
@@ -14,7 +14,13 @@ databases.updateDocument(
"", // databaseId
"", // collectionId
"", // documentId
- Map.of("a", "b"), // data (optional)
+ Map.of(
+ "username", "walter.obrien",
+ "email", "walter.obrien@example.com",
+ "fullName", "Walter O'Brien",
+ "age", 33,
+ "isAdmin", false
+ ), // data (optional)
List.of(Permission.read(Role.any())), // permissions (optional)
"", // transactionId (optional)
new CoroutineCallback<>((result, error) -> {
diff --git a/docs/examples/1.8.x/client-android/java/databases/upsert-document.md b/docs/examples/1.8.x/client-android/java/databases/upsert-document.md
index 8c72734f98..9e04ef544a 100644
--- a/docs/examples/1.8.x/client-android/java/databases/upsert-document.md
+++ b/docs/examples/1.8.x/client-android/java/databases/upsert-document.md
@@ -14,7 +14,13 @@ databases.upsertDocument(
"", // databaseId
"", // collectionId
"", // documentId
- Map.of("a", "b"), // data
+ Map.of(
+ "username", "walter.obrien",
+ "email", "walter.obrien@example.com",
+ "fullName", "Walter O'Brien",
+ "age", 30,
+ "isAdmin", false
+ ), // data (optional)
List.of(Permission.read(Role.any())), // permissions (optional)
"", // transactionId (optional)
new CoroutineCallback<>((result, error) -> {
diff --git a/docs/examples/1.8.x/client-android/java/tablesdb/update-row.md b/docs/examples/1.8.x/client-android/java/tablesdb/update-row.md
index 89f2646d9d..c41cc09f0c 100644
--- a/docs/examples/1.8.x/client-android/java/tablesdb/update-row.md
+++ b/docs/examples/1.8.x/client-android/java/tablesdb/update-row.md
@@ -14,7 +14,13 @@ tablesDB.updateRow(
"", // databaseId
"", // tableId
"", // rowId
- Map.of("a", "b"), // data (optional)
+ Map.of(
+ "username", "walter.obrien",
+ "email", "walter.obrien@example.com",
+ "fullName", "Walter O'Brien",
+ "age", 33,
+ "isAdmin", false
+ ), // data (optional)
List.of(Permission.read(Role.any())), // permissions (optional)
"", // transactionId (optional)
new CoroutineCallback<>((result, error) -> {
diff --git a/docs/examples/1.8.x/client-android/java/tablesdb/upsert-row.md b/docs/examples/1.8.x/client-android/java/tablesdb/upsert-row.md
index c6cfe6d1bc..0b40f6b976 100644
--- a/docs/examples/1.8.x/client-android/java/tablesdb/upsert-row.md
+++ b/docs/examples/1.8.x/client-android/java/tablesdb/upsert-row.md
@@ -14,7 +14,13 @@ tablesDB.upsertRow(
"", // databaseId
"", // tableId
"", // rowId
- Map.of("a", "b"), // data (optional)
+ Map.of(
+ "username", "walter.obrien",
+ "email", "walter.obrien@example.com",
+ "fullName", "Walter O'Brien",
+ "age", 33,
+ "isAdmin", false
+ ), // data (optional)
List.of(Permission.read(Role.any())), // permissions (optional)
"", // transactionId (optional)
new CoroutineCallback<>((result, error) -> {
diff --git a/docs/examples/1.8.x/client-android/kotlin/databases/update-document.md b/docs/examples/1.8.x/client-android/kotlin/databases/update-document.md
index ba6d4d189f..49f0dbcffe 100644
--- a/docs/examples/1.8.x/client-android/kotlin/databases/update-document.md
+++ b/docs/examples/1.8.x/client-android/kotlin/databases/update-document.md
@@ -14,7 +14,13 @@ val result = databases.updateDocument(
databaseId = "",
collectionId = "",
documentId = "",
- data = mapOf( "a" to "b" ), // (optional)
+ data = mapOf(
+ "username" to "walter.obrien",
+ "email" to "walter.obrien@example.com",
+ "fullName" to "Walter O'Brien",
+ "age" to 33,
+ "isAdmin" to false
+ ), // (optional)
permissions = listOf(Permission.read(Role.any())), // (optional)
transactionId = "", // (optional)
)
\ No newline at end of file
diff --git a/docs/examples/1.8.x/client-android/kotlin/databases/upsert-document.md b/docs/examples/1.8.x/client-android/kotlin/databases/upsert-document.md
index 4d95c9d684..42aff0ec0c 100644
--- a/docs/examples/1.8.x/client-android/kotlin/databases/upsert-document.md
+++ b/docs/examples/1.8.x/client-android/kotlin/databases/upsert-document.md
@@ -14,7 +14,13 @@ val result = databases.upsertDocument(
databaseId = "",
collectionId = "",
documentId = "",
- data = mapOf( "a" to "b" ),
+ data = mapOf(
+ "username" to "walter.obrien",
+ "email" to "walter.obrien@example.com",
+ "fullName" to "Walter O'Brien",
+ "age" to 30,
+ "isAdmin" to false
+ ), // (optional)
permissions = listOf(Permission.read(Role.any())), // (optional)
transactionId = "", // (optional)
)
\ No newline at end of file
diff --git a/docs/examples/1.8.x/client-android/kotlin/tablesdb/update-row.md b/docs/examples/1.8.x/client-android/kotlin/tablesdb/update-row.md
index 91b2709058..20319e3b6d 100644
--- a/docs/examples/1.8.x/client-android/kotlin/tablesdb/update-row.md
+++ b/docs/examples/1.8.x/client-android/kotlin/tablesdb/update-row.md
@@ -14,7 +14,13 @@ val result = tablesDB.updateRow(
databaseId = "",
tableId = "",
rowId = "",
- data = mapOf( "a" to "b" ), // (optional)
+ data = mapOf(
+ "username" to "walter.obrien",
+ "email" to "walter.obrien@example.com",
+ "fullName" to "Walter O'Brien",
+ "age" to 33,
+ "isAdmin" to false
+ ), // (optional)
permissions = listOf(Permission.read(Role.any())), // (optional)
transactionId = "", // (optional)
)
\ No newline at end of file
diff --git a/docs/examples/1.8.x/client-android/kotlin/tablesdb/upsert-row.md b/docs/examples/1.8.x/client-android/kotlin/tablesdb/upsert-row.md
index 6b1a45e5eb..3af7902c33 100644
--- a/docs/examples/1.8.x/client-android/kotlin/tablesdb/upsert-row.md
+++ b/docs/examples/1.8.x/client-android/kotlin/tablesdb/upsert-row.md
@@ -14,7 +14,13 @@ val result = tablesDB.upsertRow(
databaseId = "",
tableId = "",
rowId = "",
- data = mapOf( "a" to "b" ), // (optional)
+ data = mapOf(
+ "username" to "walter.obrien",
+ "email" to "walter.obrien@example.com",
+ "fullName" to "Walter O'Brien",
+ "age" to 33,
+ "isAdmin" to false
+ ), // (optional)
permissions = listOf(Permission.read(Role.any())), // (optional)
transactionId = "", // (optional)
)
\ No newline at end of file
diff --git a/docs/examples/1.8.x/client-apple/examples/databases/update-document.md b/docs/examples/1.8.x/client-apple/examples/databases/update-document.md
index 33dce44031..3a1b4c4bd9 100644
--- a/docs/examples/1.8.x/client-apple/examples/databases/update-document.md
+++ b/docs/examples/1.8.x/client-apple/examples/databases/update-document.md
@@ -10,7 +10,13 @@ let document = try await databases.updateDocument(
databaseId: "",
collectionId: "",
documentId: "",
- data: [:], // optional
+ data: [
+ "username": "walter.obrien",
+ "email": "walter.obrien@example.com",
+ "fullName": "Walter O'Brien",
+ "age": 33,
+ "isAdmin": false
+ ], // optional
permissions: [Permission.read(Role.any())], // optional
transactionId: "" // optional
)
diff --git a/docs/examples/1.8.x/client-apple/examples/databases/upsert-document.md b/docs/examples/1.8.x/client-apple/examples/databases/upsert-document.md
index e678632df2..4026c33d7b 100644
--- a/docs/examples/1.8.x/client-apple/examples/databases/upsert-document.md
+++ b/docs/examples/1.8.x/client-apple/examples/databases/upsert-document.md
@@ -10,7 +10,13 @@ let document = try await databases.upsertDocument(
databaseId: "",
collectionId: "",
documentId: "",
- data: [:],
+ data: [
+ "username": "walter.obrien",
+ "email": "walter.obrien@example.com",
+ "fullName": "Walter O'Brien",
+ "age": 30,
+ "isAdmin": false
+ ], // optional
permissions: [Permission.read(Role.any())], // optional
transactionId: "" // optional
)
diff --git a/docs/examples/1.8.x/client-apple/examples/tablesdb/update-row.md b/docs/examples/1.8.x/client-apple/examples/tablesdb/update-row.md
index 90bf66a966..e9b32e6c9a 100644
--- a/docs/examples/1.8.x/client-apple/examples/tablesdb/update-row.md
+++ b/docs/examples/1.8.x/client-apple/examples/tablesdb/update-row.md
@@ -10,7 +10,13 @@ let row = try await tablesDB.updateRow(
databaseId: "",
tableId: "",
rowId: "",
- data: [:], // optional
+ data: [
+ "username": "walter.obrien",
+ "email": "walter.obrien@example.com",
+ "fullName": "Walter O'Brien",
+ "age": 33,
+ "isAdmin": false
+ ], // optional
permissions: [Permission.read(Role.any())], // optional
transactionId: "" // optional
)
diff --git a/docs/examples/1.8.x/client-apple/examples/tablesdb/upsert-row.md b/docs/examples/1.8.x/client-apple/examples/tablesdb/upsert-row.md
index 5665f929e2..f1e3872200 100644
--- a/docs/examples/1.8.x/client-apple/examples/tablesdb/upsert-row.md
+++ b/docs/examples/1.8.x/client-apple/examples/tablesdb/upsert-row.md
@@ -10,7 +10,13 @@ let row = try await tablesDB.upsertRow(
databaseId: "",
tableId: "",
rowId: "",
- data: [:], // optional
+ data: [
+ "username": "walter.obrien",
+ "email": "walter.obrien@example.com",
+ "fullName": "Walter O'Brien",
+ "age": 33,
+ "isAdmin": false
+ ], // optional
permissions: [Permission.read(Role.any())], // optional
transactionId: "" // optional
)
diff --git a/docs/examples/1.8.x/client-flutter/examples/databases/update-document.md b/docs/examples/1.8.x/client-flutter/examples/databases/update-document.md
index 9a5b3ee7dd..92407b14ef 100644
--- a/docs/examples/1.8.x/client-flutter/examples/databases/update-document.md
+++ b/docs/examples/1.8.x/client-flutter/examples/databases/update-document.md
@@ -12,7 +12,13 @@ Document result = await databases.updateDocument(
databaseId: '',
collectionId: '',
documentId: '',
- data: {}, // optional
+ data: {
+ "username": "walter.obrien",
+ "email": "walter.obrien@example.com",
+ "fullName": "Walter O'Brien",
+ "age": 33,
+ "isAdmin": false
+ }, // optional
permissions: [Permission.read(Role.any())], // optional
transactionId: '', // optional
);
diff --git a/docs/examples/1.8.x/client-flutter/examples/databases/upsert-document.md b/docs/examples/1.8.x/client-flutter/examples/databases/upsert-document.md
index 7e6eb1aea9..6ad76385f8 100644
--- a/docs/examples/1.8.x/client-flutter/examples/databases/upsert-document.md
+++ b/docs/examples/1.8.x/client-flutter/examples/databases/upsert-document.md
@@ -12,7 +12,13 @@ Document result = await databases.upsertDocument(
databaseId: '',
collectionId: '',
documentId: '',
- data: {},
+ data: {
+ "username": "walter.obrien",
+ "email": "walter.obrien@example.com",
+ "fullName": "Walter O'Brien",
+ "age": 30,
+ "isAdmin": false
+ }, // optional
permissions: [Permission.read(Role.any())], // optional
transactionId: '', // optional
);
diff --git a/docs/examples/1.8.x/client-flutter/examples/tablesdb/update-row.md b/docs/examples/1.8.x/client-flutter/examples/tablesdb/update-row.md
index 91f2dd3cdf..cf7dd773ed 100644
--- a/docs/examples/1.8.x/client-flutter/examples/tablesdb/update-row.md
+++ b/docs/examples/1.8.x/client-flutter/examples/tablesdb/update-row.md
@@ -12,7 +12,13 @@ Row result = await tablesDB.updateRow(
databaseId: '',
tableId: '',
rowId: '',
- data: {}, // optional
+ data: {
+ "username": "walter.obrien",
+ "email": "walter.obrien@example.com",
+ "fullName": "Walter O'Brien",
+ "age": 33,
+ "isAdmin": false
+ }, // optional
permissions: [Permission.read(Role.any())], // optional
transactionId: '', // optional
);
diff --git a/docs/examples/1.8.x/client-flutter/examples/tablesdb/upsert-row.md b/docs/examples/1.8.x/client-flutter/examples/tablesdb/upsert-row.md
index 4fb785d744..9d69ef6b62 100644
--- a/docs/examples/1.8.x/client-flutter/examples/tablesdb/upsert-row.md
+++ b/docs/examples/1.8.x/client-flutter/examples/tablesdb/upsert-row.md
@@ -12,7 +12,13 @@ Row result = await tablesDB.upsertRow(
databaseId: '',
tableId: '',
rowId: '',
- data: {}, // optional
+ data: {
+ "username": "walter.obrien",
+ "email": "walter.obrien@example.com",
+ "fullName": "Walter O'Brien",
+ "age": 33,
+ "isAdmin": false
+ }, // optional
permissions: [Permission.read(Role.any())], // optional
transactionId: '', // optional
);
diff --git a/docs/examples/1.8.x/client-graphql/examples/databases/update-document.md b/docs/examples/1.8.x/client-graphql/examples/databases/update-document.md
index cf43d9eed0..056a5bed4e 100644
--- a/docs/examples/1.8.x/client-graphql/examples/databases/update-document.md
+++ b/docs/examples/1.8.x/client-graphql/examples/databases/update-document.md
@@ -3,7 +3,7 @@ mutation {
databaseId: "",
collectionId: "",
documentId: "",
- data: "{}",
+ data: "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}",
permissions: ["read("any")"],
transactionId: ""
) {
diff --git a/docs/examples/1.8.x/client-graphql/examples/databases/upsert-document.md b/docs/examples/1.8.x/client-graphql/examples/databases/upsert-document.md
index d487c0d303..6d54d7ad10 100644
--- a/docs/examples/1.8.x/client-graphql/examples/databases/upsert-document.md
+++ b/docs/examples/1.8.x/client-graphql/examples/databases/upsert-document.md
@@ -3,7 +3,7 @@ mutation {
databaseId: "",
collectionId: "",
documentId: "",
- data: "{}",
+ data: "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":30,\"isAdmin\":false}",
permissions: ["read("any")"],
transactionId: ""
) {
diff --git a/docs/examples/1.8.x/client-graphql/examples/tablesdb/update-row.md b/docs/examples/1.8.x/client-graphql/examples/tablesdb/update-row.md
index aa89e6ae01..a0fd284f95 100644
--- a/docs/examples/1.8.x/client-graphql/examples/tablesdb/update-row.md
+++ b/docs/examples/1.8.x/client-graphql/examples/tablesdb/update-row.md
@@ -3,7 +3,7 @@ mutation {
databaseId: "",
tableId: "",
rowId: "",
- data: "{}",
+ data: "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}",
permissions: ["read("any")"],
transactionId: ""
) {
diff --git a/docs/examples/1.8.x/client-graphql/examples/tablesdb/upsert-row.md b/docs/examples/1.8.x/client-graphql/examples/tablesdb/upsert-row.md
index 3fe36ee7f1..ed5309cab8 100644
--- a/docs/examples/1.8.x/client-graphql/examples/tablesdb/upsert-row.md
+++ b/docs/examples/1.8.x/client-graphql/examples/tablesdb/upsert-row.md
@@ -3,7 +3,7 @@ mutation {
databaseId: "",
tableId: "",
rowId: "",
- data: "{}",
+ data: "{\"username\":\"walter.obrien\",\"email\":\"walter.obrien@example.com\",\"fullName\":\"Walter O'Brien\",\"age\":33,\"isAdmin\":false}",
permissions: ["read("any")"],
transactionId: ""
) {
diff --git a/docs/examples/1.8.x/client-react-native/examples/databases/update-document.md b/docs/examples/1.8.x/client-react-native/examples/databases/update-document.md
index a82fa5238c..2be12b1acd 100644
--- a/docs/examples/1.8.x/client-react-native/examples/databases/update-document.md
+++ b/docs/examples/1.8.x/client-react-native/examples/databases/update-document.md
@@ -10,7 +10,13 @@ const result = await databases.updateDocument({
databaseId: '',
collectionId: '',
documentId: '',
- data: {}, // optional
+ data: {
+ "username": "walter.obrien",
+ "email": "walter.obrien@example.com",
+ "fullName": "Walter O'Brien",
+ "age": 33,
+ "isAdmin": false
+ }, // optional
permissions: ["read("any")"], // optional
transactionId: '' // optional
});
diff --git a/docs/examples/1.8.x/client-react-native/examples/databases/upsert-document.md b/docs/examples/1.8.x/client-react-native/examples/databases/upsert-document.md
index b6d2bed4d3..fcf1fb4820 100644
--- a/docs/examples/1.8.x/client-react-native/examples/databases/upsert-document.md
+++ b/docs/examples/1.8.x/client-react-native/examples/databases/upsert-document.md
@@ -10,7 +10,13 @@ const result = await databases.upsertDocument({
databaseId: '',
collectionId: '',
documentId: '',
- data: {},
+ data: {
+ "username": "walter.obrien",
+ "email": "walter.obrien@example.com",
+ "fullName": "Walter O'Brien",
+ "age": 30,
+ "isAdmin": false
+ }, // optional
permissions: ["read("any")"], // optional
transactionId: '' // optional
});
diff --git a/docs/examples/1.8.x/client-react-native/examples/tablesdb/update-row.md b/docs/examples/1.8.x/client-react-native/examples/tablesdb/update-row.md
index b53b927b3b..9ba5054f76 100644
--- a/docs/examples/1.8.x/client-react-native/examples/tablesdb/update-row.md
+++ b/docs/examples/1.8.x/client-react-native/examples/tablesdb/update-row.md
@@ -10,7 +10,13 @@ const result = await tablesDB.updateRow({
databaseId: '',
tableId: '',
rowId: '',
- data: {}, // optional
+ data: {
+ "username": "walter.obrien",
+ "email": "walter.obrien@example.com",
+ "fullName": "Walter O'Brien",
+ "age": 33,
+ "isAdmin": false
+ }, // optional
permissions: ["read("any")"], // optional
transactionId: '' // optional
});
diff --git a/docs/examples/1.8.x/client-react-native/examples/tablesdb/upsert-row.md b/docs/examples/1.8.x/client-react-native/examples/tablesdb/upsert-row.md
index 28909273a5..bea81ba413 100644
--- a/docs/examples/1.8.x/client-react-native/examples/tablesdb/upsert-row.md
+++ b/docs/examples/1.8.x/client-react-native/examples/tablesdb/upsert-row.md
@@ -10,7 +10,13 @@ const result = await tablesDB.upsertRow({
databaseId: '',
tableId: '',
rowId: '',
- data: {}, // optional
+ data: {
+ "username": "walter.obrien",
+ "email": "walter.obrien@example.com",
+ "fullName": "Walter O'Brien",
+ "age": 33,
+ "isAdmin": false
+ }, // optional
permissions: ["read("any")"], // optional
transactionId: '' // optional
});
diff --git a/docs/examples/1.8.x/client-rest/examples/account/create-anonymous-session.md b/docs/examples/1.8.x/client-rest/examples/account/create-anonymous-session.md
index b62c82a6a8..ff7408fa94 100644
--- a/docs/examples/1.8.x/client-rest/examples/account/create-anonymous-session.md
+++ b/docs/examples/1.8.x/client-rest/examples/account/create-anonymous-session.md
@@ -3,4 +3,6 @@ Host: cloud.appwrite.io
Content-Type: application/json
X-Appwrite-Response-Format: 1.8.0
X-Appwrite-Project:
+X-Appwrite-Session:
+X-Appwrite-JWT:
diff --git a/docs/examples/1.8.x/client-rest/examples/account/create-email-password-session.md b/docs/examples/1.8.x/client-rest/examples/account/create-email-password-session.md
index 1103d2ebfb..2cf4121b4f 100644
--- a/docs/examples/1.8.x/client-rest/examples/account/create-email-password-session.md
+++ b/docs/examples/1.8.x/client-rest/examples/account/create-email-password-session.md
@@ -3,6 +3,8 @@ Host: cloud.appwrite.io
Content-Type: application/json
X-Appwrite-Response-Format: 1.8.0
X-Appwrite-Project:
+X-Appwrite-Session:
+X-Appwrite-JWT:
{
"email": "email@example.com",
diff --git a/docs/examples/1.8.x/client-rest/examples/account/create-email-token.md b/docs/examples/1.8.x/client-rest/examples/account/create-email-token.md
index 552b724b9c..3e0d10827f 100644
--- a/docs/examples/1.8.x/client-rest/examples/account/create-email-token.md
+++ b/docs/examples/1.8.x/client-rest/examples/account/create-email-token.md
@@ -3,6 +3,8 @@ Host: cloud.appwrite.io
Content-Type: application/json
X-Appwrite-Response-Format: 1.8.0
X-Appwrite-Project:
+X-Appwrite-Session:
+X-Appwrite-JWT:
{
"userId": "",
diff --git a/docs/examples/1.8.x/client-rest/examples/account/create-jwt.md b/docs/examples/1.8.x/client-rest/examples/account/create-jwt.md
index 62a7dee7e9..52901d67a2 100644
--- a/docs/examples/1.8.x/client-rest/examples/account/create-jwt.md
+++ b/docs/examples/1.8.x/client-rest/examples/account/create-jwt.md
@@ -3,4 +3,6 @@ Host: cloud.appwrite.io
Content-Type: application/json
X-Appwrite-Response-Format: 1.8.0
X-Appwrite-Project:
+X-Appwrite-Session:
+X-Appwrite-JWT:
diff --git a/docs/examples/1.8.x/client-rest/examples/account/create-magic-url-token.md b/docs/examples/1.8.x/client-rest/examples/account/create-magic-url-token.md
index 29d68bd0fa..4629afaac8 100644
--- a/docs/examples/1.8.x/client-rest/examples/account/create-magic-url-token.md
+++ b/docs/examples/1.8.x/client-rest/examples/account/create-magic-url-token.md
@@ -3,6 +3,8 @@ Host: cloud.appwrite.io
Content-Type: application/json
X-Appwrite-Response-Format: 1.8.0
X-Appwrite-Project:
+X-Appwrite-Session:
+X-Appwrite-JWT:
{
"userId": "",
diff --git a/docs/examples/1.8.x/client-rest/examples/account/create-mfa-challenge.md b/docs/examples/1.8.x/client-rest/examples/account/create-mfa-challenge.md
index e5a5b0ea05..0990fcb98d 100644
--- a/docs/examples/1.8.x/client-rest/examples/account/create-mfa-challenge.md
+++ b/docs/examples/1.8.x/client-rest/examples/account/create-mfa-challenge.md
@@ -3,6 +3,8 @@ Host: cloud.appwrite.io
Content-Type: application/json
X-Appwrite-Response-Format: 1.8.0
X-Appwrite-Project:
+X-Appwrite-Session:
+X-Appwrite-JWT:
{
"factor": "email"
diff --git a/docs/examples/1.8.x/client-rest/examples/account/create-o-auth-2-session.md b/docs/examples/1.8.x/client-rest/examples/account/create-o-auth-2-session.md
index d136722ec8..f99a3ecc76 100644
--- a/docs/examples/1.8.x/client-rest/examples/account/create-o-auth-2-session.md
+++ b/docs/examples/1.8.x/client-rest/examples/account/create-o-auth-2-session.md
@@ -2,3 +2,5 @@ GET /v1/account/sessions/oauth2/{provider} HTTP/1.1
Host: cloud.appwrite.io
X-Appwrite-Response-Format: 1.8.0
X-Appwrite-Project:
+X-Appwrite-Session:
+X-Appwrite-JWT:
diff --git a/docs/examples/1.8.x/client-rest/examples/account/create-o-auth-2-token.md b/docs/examples/1.8.x/client-rest/examples/account/create-o-auth-2-token.md
index 8a0cab614f..6d569682c1 100644
--- a/docs/examples/1.8.x/client-rest/examples/account/create-o-auth-2-token.md
+++ b/docs/examples/1.8.x/client-rest/examples/account/create-o-auth-2-token.md
@@ -2,3 +2,5 @@ GET /v1/account/tokens/oauth2/{provider} HTTP/1.1
Host: cloud.appwrite.io
X-Appwrite-Response-Format: 1.8.0
X-Appwrite-Project:
+X-Appwrite-Session:
+X-Appwrite-JWT:
diff --git a/docs/examples/1.8.x/client-rest/examples/account/create-phone-token.md b/docs/examples/1.8.x/client-rest/examples/account/create-phone-token.md
index 5127c8377a..c3cb75347f 100644
--- a/docs/examples/1.8.x/client-rest/examples/account/create-phone-token.md
+++ b/docs/examples/1.8.x/client-rest/examples/account/create-phone-token.md
@@ -3,6 +3,8 @@ Host: cloud.appwrite.io
Content-Type: application/json
X-Appwrite-Response-Format: 1.8.0
X-Appwrite-Project:
+X-Appwrite-Session:
+X-Appwrite-JWT:
{
"userId": "",
diff --git a/docs/examples/1.8.x/client-rest/examples/account/create-session.md b/docs/examples/1.8.x/client-rest/examples/account/create-session.md
index 0acc50cda6..810f816212 100644
--- a/docs/examples/1.8.x/client-rest/examples/account/create-session.md
+++ b/docs/examples/1.8.x/client-rest/examples/account/create-session.md
@@ -3,6 +3,8 @@ Host: cloud.appwrite.io
Content-Type: application/json
X-Appwrite-Response-Format: 1.8.0
X-Appwrite-Project:
+X-Appwrite-Session:
+X-Appwrite-JWT:
{
"userId": "",
diff --git a/docs/examples/1.8.x/client-rest/examples/account/create.md b/docs/examples/1.8.x/client-rest/examples/account/create.md
index fa06bfcc1a..ef9967cab1 100644
--- a/docs/examples/1.8.x/client-rest/examples/account/create.md
+++ b/docs/examples/1.8.x/client-rest/examples/account/create.md
@@ -3,6 +3,8 @@ Host: cloud.appwrite.io
Content-Type: application/json
X-Appwrite-Response-Format: 1.8.0
X-Appwrite-Project:
+X-Appwrite-Session:
+X-Appwrite-JWT:
{
"userId": "",
diff --git a/docs/examples/1.8.x/client-rest/examples/account/update-magic-url-session.md b/docs/examples/1.8.x/client-rest/examples/account/update-magic-url-session.md
index 1a82afbfcc..a1fe139a8b 100644
--- a/docs/examples/1.8.x/client-rest/examples/account/update-magic-url-session.md
+++ b/docs/examples/1.8.x/client-rest/examples/account/update-magic-url-session.md
@@ -3,6 +3,8 @@ Host: cloud.appwrite.io
Content-Type: application/json
X-Appwrite-Response-Format: 1.8.0
X-Appwrite-Project:
+X-Appwrite-Session:
+X-Appwrite-JWT:
{
"userId": "",
diff --git a/docs/examples/1.8.x/client-rest/examples/account/update-phone-session.md b/docs/examples/1.8.x/client-rest/examples/account/update-phone-session.md
index 54872eecd2..eb18a0960c 100644
--- a/docs/examples/1.8.x/client-rest/examples/account/update-phone-session.md
+++ b/docs/examples/1.8.x/client-rest/examples/account/update-phone-session.md
@@ -3,6 +3,8 @@ Host: cloud.appwrite.io
Content-Type: application/json
X-Appwrite-Response-Format: 1.8.0
X-Appwrite-Project:
+X-Appwrite-Session:
+X-Appwrite-JWT:
{
"userId": "",
diff --git a/docs/examples/1.8.x/client-rest/examples/databases/update-document.md b/docs/examples/1.8.x/client-rest/examples/databases/update-document.md
index f39cabfec3..5eca403b5d 100644
--- a/docs/examples/1.8.x/client-rest/examples/databases/update-document.md
+++ b/docs/examples/1.8.x/client-rest/examples/databases/update-document.md
@@ -7,7 +7,13 @@ X-Appwrite-Session:
X-Appwrite-JWT:
{
- "data": {},
+ "data": {
+ "username": "walter.obrien",
+ "email": "walter.obrien@example.com",
+ "fullName": "Walter O'Brien",
+ "age": 33,
+ "isAdmin": false
+ },
"permissions": ["read(\"any\")"],
"transactionId": ""
}
diff --git a/docs/examples/1.8.x/client-rest/examples/databases/upsert-document.md b/docs/examples/1.8.x/client-rest/examples/databases/upsert-document.md
index c84d74a5ff..3e98bfd22f 100644
--- a/docs/examples/1.8.x/client-rest/examples/databases/upsert-document.md
+++ b/docs/examples/1.8.x/client-rest/examples/databases/upsert-document.md
@@ -7,7 +7,13 @@ X-Appwrite-Session:
X-Appwrite-JWT:
{
- "data": {},
+ "data": {
+ "username": "walter.obrien",
+ "email": "walter.obrien@example.com",
+ "fullName": "Walter O'Brien",
+ "age": 30,
+ "isAdmin": false
+ },
"permissions": ["read(\"any\")"],
"transactionId": ""
}
diff --git a/docs/examples/1.8.x/client-rest/examples/tablesdb/update-row.md b/docs/examples/1.8.x/client-rest/examples/tablesdb/update-row.md
index 7249d93906..8f66400634 100644
--- a/docs/examples/1.8.x/client-rest/examples/tablesdb/update-row.md
+++ b/docs/examples/1.8.x/client-rest/examples/tablesdb/update-row.md
@@ -7,7 +7,13 @@ X-Appwrite-Session:
X-Appwrite-JWT:
{
- "data": {},
+ "data": {
+ "username": "walter.obrien",
+ "email": "walter.obrien@example.com",
+ "fullName": "Walter O'Brien",
+ "age": 33,
+ "isAdmin": false
+ },
"permissions": ["read(\"any\")"],
"transactionId": ""
}
diff --git a/docs/examples/1.8.x/client-rest/examples/tablesdb/upsert-row.md b/docs/examples/1.8.x/client-rest/examples/tablesdb/upsert-row.md
index 93f6236eca..3da7011225 100644
--- a/docs/examples/1.8.x/client-rest/examples/tablesdb/upsert-row.md
+++ b/docs/examples/1.8.x/client-rest/examples/tablesdb/upsert-row.md
@@ -7,7 +7,13 @@ X-Appwrite-Session:
X-Appwrite-JWT:
{
- "data": {},
+ "data": {
+ "username": "walter.obrien",
+ "email": "walter.obrien@example.com",
+ "fullName": "Walter O'Brien",
+ "age": 33,
+ "isAdmin": false
+ },
"permissions": ["read(\"any\")"],
"transactionId": ""
}
diff --git a/docs/examples/1.8.x/client-web/examples/databases/update-document.md b/docs/examples/1.8.x/client-web/examples/databases/update-document.md
index b5d90fd58d..8b1f8a8079 100644
--- a/docs/examples/1.8.x/client-web/examples/databases/update-document.md
+++ b/docs/examples/1.8.x/client-web/examples/databases/update-document.md
@@ -10,7 +10,13 @@ const result = await databases.updateDocument({
databaseId: '',
collectionId: '',
documentId: '',
- data: {}, // optional
+ data: {
+ "username": "walter.obrien",
+ "email": "walter.obrien@example.com",
+ "fullName": "Walter O'Brien",
+ "age": 33,
+ "isAdmin": false
+ }, // optional
permissions: [Permission.read(Role.any())], // optional
transactionId: '' // optional
});
diff --git a/docs/examples/1.8.x/client-web/examples/databases/upsert-document.md b/docs/examples/1.8.x/client-web/examples/databases/upsert-document.md
index 7af42d6337..5a9ade4086 100644
--- a/docs/examples/1.8.x/client-web/examples/databases/upsert-document.md
+++ b/docs/examples/1.8.x/client-web/examples/databases/upsert-document.md
@@ -10,7 +10,13 @@ const result = await databases.upsertDocument({
databaseId: '',
collectionId: '',
documentId: '',
- data: {},
+ data: {
+ "username": "walter.obrien",
+ "email": "walter.obrien@example.com",
+ "fullName": "Walter O'Brien",
+ "age": 30,
+ "isAdmin": false
+ }, // optional
permissions: [Permission.read(Role.any())], // optional
transactionId: '' // optional
});
diff --git a/docs/examples/1.8.x/client-web/examples/tablesdb/update-row.md b/docs/examples/1.8.x/client-web/examples/tablesdb/update-row.md
index cda74edb07..c0656d36b3 100644
--- a/docs/examples/1.8.x/client-web/examples/tablesdb/update-row.md
+++ b/docs/examples/1.8.x/client-web/examples/tablesdb/update-row.md
@@ -10,7 +10,13 @@ const result = await tablesDB.updateRow({
databaseId: '',
tableId: '',
rowId: '',
- data: {}, // optional
+ data: {
+ "username": "walter.obrien",
+ "email": "walter.obrien@example.com",
+ "fullName": "Walter O'Brien",
+ "age": 33,
+ "isAdmin": false
+ }, // optional
permissions: [Permission.read(Role.any())], // optional
transactionId: '' // optional
});
diff --git a/docs/examples/1.8.x/client-web/examples/tablesdb/upsert-row.md b/docs/examples/1.8.x/client-web/examples/tablesdb/upsert-row.md
index c0cb973c79..c4eb5c3c75 100644
--- a/docs/examples/1.8.x/client-web/examples/tablesdb/upsert-row.md
+++ b/docs/examples/1.8.x/client-web/examples/tablesdb/upsert-row.md
@@ -10,7 +10,13 @@ const result = await tablesDB.upsertRow({
databaseId: '',
tableId: '',
rowId: '',
- data: {}, // optional
+ data: {
+ "username": "walter.obrien",
+ "email": "walter.obrien@example.com",
+ "fullName": "Walter O'Brien",
+ "age": 33,
+ "isAdmin": false
+ }, // optional
permissions: [Permission.read(Role.any())], // optional
transactionId: '' // optional
});
diff --git a/docs/examples/1.8.x/console-cli/examples/databases/upsert-document.md b/docs/examples/1.8.x/console-cli/examples/databases/upsert-document.md
index 558ffeb5c4..8b1e138206 100644
--- a/docs/examples/1.8.x/console-cli/examples/databases/upsert-document.md
+++ b/docs/examples/1.8.x/console-cli/examples/databases/upsert-document.md
@@ -1,5 +1,4 @@
appwrite databases upsert-document \
--database-id \
--collection-id \
- --document-id \
- --data '{ "key": "value" }'
+ --document-id
diff --git a/docs/examples/1.8.x/console-web/examples/databases/update-document.md b/docs/examples/1.8.x/console-web/examples/databases/update-document.md
index 5ab73b3210..30f9b4c39b 100644
--- a/docs/examples/1.8.x/console-web/examples/databases/update-document.md
+++ b/docs/examples/1.8.x/console-web/examples/databases/update-document.md
@@ -10,7 +10,13 @@ const result = await databases.updateDocument({
databaseId: '',
collectionId: '',
documentId: '',
- data: {}, // optional
+ data: {
+ "username": "walter.obrien",
+ "email": "walter.obrien@example.com",
+ "fullName": "Walter O'Brien",
+ "age": 33,
+ "isAdmin": false
+ }, // optional
permissions: [Permission.read(Role.any())], // optional
transactionId: '' // optional
});
diff --git a/docs/examples/1.8.x/console-web/examples/databases/update-documents.md b/docs/examples/1.8.x/console-web/examples/databases/update-documents.md
index 9f9054bad2..da4043bbc1 100644
--- a/docs/examples/1.8.x/console-web/examples/databases/update-documents.md
+++ b/docs/examples/1.8.x/console-web/examples/databases/update-documents.md
@@ -9,7 +9,13 @@ const databases = new Databases(client);
const result = await databases.updateDocuments({
databaseId: '',
collectionId: '',
- data: {}, // optional
+ data: {
+ "username": "walter.obrien",
+ "email": "walter.obrien@example.com",
+ "fullName": "Walter O'Brien",
+ "age": 33,
+ "isAdmin": false
+ }, // optional
queries: [], // optional
transactionId: '' // optional
});
diff --git a/docs/examples/1.8.x/console-web/examples/databases/upsert-document.md b/docs/examples/1.8.x/console-web/examples/databases/upsert-document.md
index 9c29601d67..03947bc418 100644
--- a/docs/examples/1.8.x/console-web/examples/databases/upsert-document.md
+++ b/docs/examples/1.8.x/console-web/examples/databases/upsert-document.md
@@ -10,7 +10,13 @@ const result = await databases.upsertDocument({
databaseId: '',
collectionId: '',
documentId: '',
- data: {},
+ data: {
+ "username": "walter.obrien",
+ "email": "walter.obrien@example.com",
+ "fullName": "Walter O'Brien",
+ "age": 30,
+ "isAdmin": false
+ }, // optional
permissions: [Permission.read(Role.any())], // optional
transactionId: '' // optional
});
diff --git a/docs/examples/1.8.x/console-web/examples/tablesdb/update-row.md b/docs/examples/1.8.x/console-web/examples/tablesdb/update-row.md
index 952ed62e64..b096cfa992 100644
--- a/docs/examples/1.8.x/console-web/examples/tablesdb/update-row.md
+++ b/docs/examples/1.8.x/console-web/examples/tablesdb/update-row.md
@@ -10,7 +10,13 @@ const result = await tablesDB.updateRow({
databaseId: '',
tableId: '',
rowId: '',
- data: {}, // optional
+ data: {
+ "username": "walter.obrien",
+ "email": "walter.obrien@example.com",
+ "fullName": "Walter O'Brien",
+ "age": 33,
+ "isAdmin": false
+ }, // optional
permissions: [Permission.read(Role.any())], // optional
transactionId: '' // optional
});
diff --git a/docs/examples/1.8.x/console-web/examples/tablesdb/update-rows.md b/docs/examples/1.8.x/console-web/examples/tablesdb/update-rows.md
index 7601955b8b..699ab5dfef 100644
--- a/docs/examples/1.8.x/console-web/examples/tablesdb/update-rows.md
+++ b/docs/examples/1.8.x/console-web/examples/tablesdb/update-rows.md
@@ -9,7 +9,13 @@ const tablesDB = new TablesDB(client);
const result = await tablesDB.updateRows({
databaseId: '',
tableId: '',
- data: {}, // optional
+ data: {
+ "username": "walter.obrien",
+ "email": "walter.obrien@example.com",
+ "fullName": "Walter O'Brien",
+ "age": 33,
+ "isAdmin": false
+ }, // optional
queries: [], // optional
transactionId: '' // optional
});
diff --git a/docs/examples/1.8.x/console-web/examples/tablesdb/upsert-row.md b/docs/examples/1.8.x/console-web/examples/tablesdb/upsert-row.md
index dee8dd0a6b..0c1a7ea2b6 100644
--- a/docs/examples/1.8.x/console-web/examples/tablesdb/upsert-row.md
+++ b/docs/examples/1.8.x/console-web/examples/tablesdb/upsert-row.md
@@ -10,7 +10,13 @@ const result = await tablesDB.upsertRow({
databaseId: '',
tableId: '',
rowId: '',
- data: {}, // optional
+ data: {
+ "username": "walter.obrien",
+ "email": "walter.obrien@example.com",
+ "fullName": "Walter O'Brien",
+ "age": 33,
+ "isAdmin": false
+ }, // optional
permissions: [Permission.read(Role.any())], // optional
transactionId: '' // optional
});
diff --git a/docs/examples/1.8.x/server-dart/examples/account/create-anonymous-session.md b/docs/examples/1.8.x/server-dart/examples/account/create-anonymous-session.md
index 7b1cc08304..b12451d11a 100644
--- a/docs/examples/1.8.x/server-dart/examples/account/create-anonymous-session.md
+++ b/docs/examples/1.8.x/server-dart/examples/account/create-anonymous-session.md
@@ -2,7 +2,8 @@ import 'package:dart_appwrite/dart_appwrite.dart';
Client client = Client()
.setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint
- .setProject(''); // Your project ID
+ .setProject('') // Your project ID
+ .setSession(''); // The user session to authenticate with
Account account = Account(client);
diff --git a/docs/examples/1.8.x/server-dart/examples/account/create-email-password-session.md b/docs/examples/1.8.x/server-dart/examples/account/create-email-password-session.md
index 2305367d94..63200d506c 100644
--- a/docs/examples/1.8.x/server-dart/examples/account/create-email-password-session.md
+++ b/docs/examples/1.8.x/server-dart/examples/account/create-email-password-session.md
@@ -2,7 +2,8 @@ import 'package:dart_appwrite/dart_appwrite.dart';
Client client = Client()
.setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint
- .setProject(''); // Your project ID
+ .setProject('') // Your project ID
+ .setSession(''); // The user session to authenticate with
Account account = Account(client);
diff --git a/docs/examples/1.8.x/server-dart/examples/account/create-email-token.md b/docs/examples/1.8.x/server-dart/examples/account/create-email-token.md
index e9696f92bf..348b8bb157 100644
--- a/docs/examples/1.8.x/server-dart/examples/account/create-email-token.md
+++ b/docs/examples/1.8.x/server-dart/examples/account/create-email-token.md
@@ -2,7 +2,8 @@ import 'package:dart_appwrite/dart_appwrite.dart';
Client client = Client()
.setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint
- .setProject(''); // Your project ID
+ .setProject('') // Your project ID
+ .setSession(''); // The user session to authenticate with
Account account = Account(client);
diff --git a/docs/examples/1.8.x/server-dart/examples/account/create-jwt.md b/docs/examples/1.8.x/server-dart/examples/account/create-jwt.md
index 4288c71ce1..5b2945e8ba 100644
--- a/docs/examples/1.8.x/server-dart/examples/account/create-jwt.md
+++ b/docs/examples/1.8.x/server-dart/examples/account/create-jwt.md
@@ -2,7 +2,8 @@ import 'package:dart_appwrite/dart_appwrite.dart';
Client client = Client()
.setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint
- .setProject(''); // Your project ID
+ .setProject('') // Your project ID
+ .setSession(''); // The user session to authenticate with
Account account = Account(client);
diff --git a/docs/examples/1.8.x/server-dart/examples/account/create-magic-url-token.md b/docs/examples/1.8.x/server-dart/examples/account/create-magic-url-token.md
index 791b9cbd4f..9aa4c5e502 100644
--- a/docs/examples/1.8.x/server-dart/examples/account/create-magic-url-token.md
+++ b/docs/examples/1.8.x/server-dart/examples/account/create-magic-url-token.md
@@ -2,7 +2,8 @@ import 'package:dart_appwrite/dart_appwrite.dart';
Client client = Client()
.setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint
- .setProject(''); // Your project ID
+ .setProject('') // Your project ID
+ .setSession(''); // The user session to authenticate with
Account account = Account(client);
diff --git a/docs/examples/1.8.x/server-dart/examples/account/create-mfa-challenge.md b/docs/examples/1.8.x/server-dart/examples/account/create-mfa-challenge.md
index 5df3abadad..7696794b35 100644
--- a/docs/examples/1.8.x/server-dart/examples/account/create-mfa-challenge.md
+++ b/docs/examples/1.8.x/server-dart/examples/account/create-mfa-challenge.md
@@ -2,7 +2,8 @@ import 'package:dart_appwrite/dart_appwrite.dart';
Client client = Client()
.setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint
- .setProject(''); // Your project ID
+ .setProject('') // Your project ID
+ .setSession(''); // The user session to authenticate with
Account account = Account(client);
diff --git a/docs/examples/1.8.x/server-dart/examples/account/create-o-auth-2-token.md b/docs/examples/1.8.x/server-dart/examples/account/create-o-auth-2-token.md
index 4a26a9fd7f..42c4ed85fa 100644
--- a/docs/examples/1.8.x/server-dart/examples/account/create-o-auth-2-token.md
+++ b/docs/examples/1.8.x/server-dart/examples/account/create-o-auth-2-token.md
@@ -2,7 +2,8 @@ import 'package:dart_appwrite/dart_appwrite.dart';
Client client = Client()
.setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint
- .setProject(''); // Your project ID
+ .setProject('') // Your project ID
+ .setSession(''); // The user session to authenticate with
Account account = Account(client);
diff --git a/docs/examples/1.8.x/server-dart/examples/account/create-phone-token.md b/docs/examples/1.8.x/server-dart/examples/account/create-phone-token.md
index 7011b3cf48..1ea7532fbd 100644
--- a/docs/examples/1.8.x/server-dart/examples/account/create-phone-token.md
+++ b/docs/examples/1.8.x/server-dart/examples/account/create-phone-token.md
@@ -2,7 +2,8 @@ import 'package:dart_appwrite/dart_appwrite.dart';
Client client = Client()
.setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint
- .setProject(''); // Your project ID
+ .setProject('') // Your project ID
+ .setSession(''); // The user session to authenticate with
Account account = Account(client);
diff --git a/docs/examples/1.8.x/server-dart/examples/account/create-session.md b/docs/examples/1.8.x/server-dart/examples/account/create-session.md
index 1e56fc71bb..c23e5c94bb 100644
--- a/docs/examples/1.8.x/server-dart/examples/account/create-session.md
+++ b/docs/examples/1.8.x/server-dart/examples/account/create-session.md
@@ -2,7 +2,8 @@ import 'package:dart_appwrite/dart_appwrite.dart';
Client client = Client()
.setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint
- .setProject(''); // Your project ID
+ .setProject('') // Your project ID
+ .setSession(''); // The user session to authenticate with
Account account = Account(client);
diff --git a/docs/examples/1.8.x/server-dart/examples/account/create.md b/docs/examples/1.8.x/server-dart/examples/account/create.md
index f0384f46f4..21af6db4c8 100644
--- a/docs/examples/1.8.x/server-dart/examples/account/create.md
+++ b/docs/examples/1.8.x/server-dart/examples/account/create.md
@@ -2,7 +2,8 @@ import 'package:dart_appwrite/dart_appwrite.dart';
Client client = Client()
.setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint
- .setProject(''); // Your project ID
+ .setProject('') // Your project ID
+ .setSession(''); // The user session to authenticate with
Account account = Account(client);
diff --git a/docs/examples/1.8.x/server-dart/examples/account/update-magic-url-session.md b/docs/examples/1.8.x/server-dart/examples/account/update-magic-url-session.md
index 475e464ff0..c18efc60b8 100644
--- a/docs/examples/1.8.x/server-dart/examples/account/update-magic-url-session.md
+++ b/docs/examples/1.8.x/server-dart/examples/account/update-magic-url-session.md
@@ -2,7 +2,8 @@ import 'package:dart_appwrite/dart_appwrite.dart';
Client client = Client()
.setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint
- .setProject(''); // Your project ID
+ .setProject('') // Your project ID
+ .setSession(''); // The user session to authenticate with
Account account = Account(client);
diff --git a/docs/examples/1.8.x/server-dart/examples/account/update-phone-session.md b/docs/examples/1.8.x/server-dart/examples/account/update-phone-session.md
index 046dd0a701..47176c4d97 100644
--- a/docs/examples/1.8.x/server-dart/examples/account/update-phone-session.md
+++ b/docs/examples/1.8.x/server-dart/examples/account/update-phone-session.md
@@ -2,7 +2,8 @@ import 'package:dart_appwrite/dart_appwrite.dart';
Client client = Client()
.setEndpoint('https://.cloud.appwrite.io/v1') // Your API Endpoint
- .setProject(''); // Your project ID
+ .setProject('') // Your project ID
+ .setSession(''); // The user session to authenticate with
Account account = Account(client);
diff --git a/docs/examples/1.8.x/server-dart/examples/databases/create-collection.md b/docs/examples/1.8.x/server-dart/examples/databases/create-collection.md
index 51a7c12626..e131269f6f 100644
--- a/docs/examples/1.8.x/server-dart/examples/databases/create-collection.md
+++ b/docs/examples/1.8.x/server-dart/examples/databases/create-collection.md
@@ -16,4 +16,6 @@ Collection result = await databases.createCollection(
permissions: [Permission.read(Role.any())], // (optional)
documentSecurity: false, // (optional)
enabled: false, // (optional)
+ attributes: [], // (optional)
+ indexes: [], // (optional)
);
diff --git a/docs/examples/1.8.x/server-dart/examples/databases/update-document.md b/docs/examples/1.8.x/server-dart/examples/databases/update-document.md
index b48041e228..b193cdffc1 100644
--- a/docs/examples/1.8.x/server-dart/examples/databases/update-document.md
+++ b/docs/examples/1.8.x/server-dart/examples/databases/update-document.md
@@ -13,7 +13,13 @@ Document result = await databases.updateDocument(
databaseId: '',
collectionId: '',
documentId: '',
- data: {}, // (optional)
+ data: {
+ "username": "walter.obrien",
+ "email": "walter.obrien@example.com",
+ "fullName": "Walter O'Brien",
+ "age": 33,
+ "isAdmin": false
+ }, // (optional)
permissions: [Permission.read(Role.any())], // (optional)
transactionId: '', // (optional)
);
diff --git a/docs/examples/1.8.x/server-dart/examples/databases/update-documents.md b/docs/examples/1.8.x/server-dart/examples/databases/update-documents.md
index babc2d96fb..cf3be35fda 100644
--- a/docs/examples/1.8.x/server-dart/examples/databases/update-documents.md
+++ b/docs/examples/1.8.x/server-dart/examples/databases/update-documents.md
@@ -10,7 +10,13 @@ Databases databases = Databases(client);
DocumentList result = await databases.updateDocuments(
databaseId: '',
collectionId: '',
- data: {}, // (optional)
+ data: {
+ "username": "walter.obrien",
+ "email": "walter.obrien@example.com",
+ "fullName": "Walter O'Brien",
+ "age": 33,
+ "isAdmin": false
+ }, // (optional)
queries: [], // (optional)
transactionId: '', // (optional)
);
diff --git a/docs/examples/1.8.x/server-dart/examples/databases/upsert-document.md b/docs/examples/1.8.x/server-dart/examples/databases/upsert-document.md
index 95a6d9d4a4..6d2f832512 100644
--- a/docs/examples/1.8.x/server-dart/examples/databases/upsert-document.md
+++ b/docs/examples/1.8.x/server-dart/examples/databases/upsert-document.md
@@ -13,7 +13,13 @@ Document result = await databases.upsertDocument(
databaseId: '',
collectionId: '',
documentId: '',
- data: {},
+ data: {
+ "username": "walter.obrien",
+ "email": "walter.obrien@example.com",
+ "fullName": "Walter O'Brien",
+ "age": 30,
+ "isAdmin": false
+ }, // (optional)
permissions: [Permission.read(Role.any())], // (optional)
transactionId: '', // (optional)
);
diff --git a/docs/examples/1.8.x/server-dart/examples/tablesdb/create-table.md b/docs/examples/1.8.x/server-dart/examples/tablesdb/create-table.md
index ee6776f08c..4a3c58d2b9 100644
--- a/docs/examples/1.8.x/server-dart/examples/tablesdb/create-table.md
+++ b/docs/examples/1.8.x/server-dart/examples/tablesdb/create-table.md
@@ -16,4 +16,6 @@ Table result = await tablesDB.createTable(
permissions: [Permission.read(Role.any())], // (optional)
rowSecurity: false, // (optional)
enabled: false, // (optional)
+ columns: [], // (optional)
+ indexes: [], // (optional)
);
diff --git a/docs/examples/1.8.x/server-dart/examples/tablesdb/update-row.md b/docs/examples/1.8.x/server-dart/examples/tablesdb/update-row.md
index 02ba458c0f..a7906d9b08 100644
--- a/docs/examples/1.8.x/server-dart/examples/tablesdb/update-row.md
+++ b/docs/examples/1.8.x/server-dart/examples/tablesdb/update-row.md
@@ -13,7 +13,13 @@ Row result = await tablesDB.updateRow(
databaseId: '',
tableId: '',
rowId: '',
- data: {}, // (optional)
+ data: {
+ "username": "walter.obrien",
+ "email": "walter.obrien@example.com",
+ "fullName": "Walter O'Brien",
+ "age": 33,
+ "isAdmin": false
+ }, // (optional)
permissions: [Permission.read(Role.any())], // (optional)
transactionId: '', // (optional)
);
diff --git a/docs/examples/1.8.x/server-dart/examples/tablesdb/update-rows.md b/docs/examples/1.8.x/server-dart/examples/tablesdb/update-rows.md
index a7c0d61b45..4e3e42dbcb 100644
--- a/docs/examples/1.8.x/server-dart/examples/tablesdb/update-rows.md
+++ b/docs/examples/1.8.x/server-dart/examples/tablesdb/update-rows.md
@@ -10,7 +10,13 @@ TablesDB tablesDB = TablesDB(client);
RowList result = await tablesDB.updateRows(
databaseId: '',
tableId: '',
- data: {}, // (optional)
+ data: {
+ "username": "walter.obrien",
+ "email": "walter.obrien@example.com",
+ "fullName": "Walter O'Brien",
+ "age": 33,
+ "isAdmin": false
+ }, // (optional)
queries: [], // (optional)
transactionId: '', // (optional)
);
diff --git a/docs/examples/1.8.x/server-dart/examples/tablesdb/upsert-row.md b/docs/examples/1.8.x/server-dart/examples/tablesdb/upsert-row.md
index 72f1ae2064..1fd5489971 100644
--- a/docs/examples/1.8.x/server-dart/examples/tablesdb/upsert-row.md
+++ b/docs/examples/1.8.x/server-dart/examples/tablesdb/upsert-row.md
@@ -13,7 +13,13 @@ Row result = await tablesDB.upsertRow(
databaseId: '',
tableId: '',
rowId: '',
- data: {}, // (optional)
+ data: {
+ "username": "walter.obrien",
+ "email": "walter.obrien@example.com",
+ "fullName": "Walter O'Brien",
+ "age": 33,
+ "isAdmin": false
+ }, // (optional)
permissions: [Permission.read(Role.any())], // (optional)
transactionId: '', // (optional)
);
diff --git a/docs/examples/1.8.x/server-dotnet/examples/account/create-anonymous-session.md b/docs/examples/1.8.x/server-dotnet/examples/account/create-anonymous-session.md
index fc807aa4e5..087afeee81 100644
--- a/docs/examples/1.8.x/server-dotnet/examples/account/create-anonymous-session.md
+++ b/docs/examples/1.8.x/server-dotnet/examples/account/create-anonymous-session.md
@@ -4,7 +4,8 @@ using Appwrite.Services;
Client client = new Client()
.SetEndPoint("https://.cloud.appwrite.io/v1") // Your API Endpoint
- .SetProject(""); // Your project ID
+ .SetProject("") // Your project ID
+ .SetSession(""); // The user session to authenticate with
Account account = new Account(client);
diff --git a/docs/examples/1.8.x/server-dotnet/examples/account/create-email-password-session.md b/docs/examples/1.8.x/server-dotnet/examples/account/create-email-password-session.md
index abf5a41317..8e62f30d7e 100644
--- a/docs/examples/1.8.x/server-dotnet/examples/account/create-email-password-session.md
+++ b/docs/examples/1.8.x/server-dotnet/examples/account/create-email-password-session.md
@@ -4,7 +4,8 @@ using Appwrite.Services;
Client client = new Client()
.SetEndPoint("https:// |