Merge branch '1.6.x' into chore--utopia-migration

This commit is contained in:
Jake Barnby 2025-04-28 03:38:30 +00:00 committed by GitHub
commit d39fce55c1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4346 changed files with 4998 additions and 8630 deletions

View file

@ -11,7 +11,7 @@ return [
[
'key' => 'web',
'name' => 'Web',
'version' => '17.0.1',
'version' => '17.0.2',
'url' => 'https://github.com/appwrite/sdk-for-web',
'package' => 'https://www.npmjs.com/package/appwrite',
'enabled' => true,
@ -59,7 +59,7 @@ return [
[
'key' => 'flutter',
'name' => 'Flutter',
'version' => '15.0.0',
'version' => '15.0.2',
'url' => 'https://github.com/appwrite/sdk-for-flutter',
'package' => 'https://pub.dev/packages/appwrite',
'enabled' => true,
@ -77,7 +77,7 @@ return [
[
'key' => 'apple',
'name' => 'Apple',
'version' => '9.0.0',
'version' => '9.0.1',
'url' => 'https://github.com/appwrite/sdk-for-apple',
'package' => 'https://github.com/appwrite/sdk-for-apple',
'enabled' => true,
@ -112,7 +112,7 @@ return [
[
'key' => 'android',
'name' => 'Android',
'version' => '6.1.0',
'version' => '7.0.1',
'url' => 'https://github.com/appwrite/sdk-for-android',
'package' => 'https://search.maven.org/artifact/io.appwrite/sdk-for-android',
'enabled' => true,
@ -134,7 +134,7 @@ return [
[
'key' => 'react-native',
'name' => 'React Native',
'version' => '0.7.2',
'version' => '0.7.3',
'url' => 'https://github.com/appwrite/sdk-for-react-native',
'package' => 'https://npmjs.com/package/react-native-appwrite',
'enabled' => true,
@ -245,7 +245,7 @@ return [
[
'key' => 'nodejs',
'name' => 'Node.js',
'version' => '15.0.1',
'version' => '16.0.0',
'url' => 'https://github.com/appwrite/sdk-for-node',
'package' => 'https://www.npmjs.com/package/node-appwrite',
'enabled' => true,
@ -263,7 +263,7 @@ return [
[
'key' => 'deno',
'name' => 'Deno',
'version' => '12.2.0',
'version' => '14.0.0',
'url' => 'https://github.com/appwrite/sdk-for-deno',
'package' => 'https://deno.land/x/appwrite',
'enabled' => true,
@ -281,7 +281,7 @@ return [
[
'key' => 'php',
'name' => 'PHP',
'version' => '12.2.0',
'version' => '14.0.0',
'url' => 'https://github.com/appwrite/sdk-for-php',
'package' => 'https://packagist.org/packages/appwrite/appwrite',
'enabled' => true,
@ -299,7 +299,7 @@ return [
[
'key' => 'python',
'name' => 'Python',
'version' => '9.0.3',
'version' => '10.0.0',
'url' => 'https://github.com/appwrite/sdk-for-python',
'package' => 'https://pypi.org/project/appwrite/',
'enabled' => true,
@ -317,7 +317,7 @@ return [
[
'key' => 'ruby',
'name' => 'Ruby',
'version' => '12.2.0',
'version' => '15.0.0',
'url' => 'https://github.com/appwrite/sdk-for-ruby',
'package' => 'https://rubygems.org/gems/appwrite',
'enabled' => true,
@ -335,7 +335,7 @@ return [
[
'key' => 'go',
'name' => 'Go',
'version' => '0.3.0',
'version' => '0.5.0',
'url' => 'https://github.com/appwrite/sdk-for-go',
'package' => 'https://github.com/appwrite/sdk-for-go',
'enabled' => true,
@ -353,7 +353,7 @@ return [
[
'key' => 'dotnet',
'name' => '.NET',
'version' => '0.11.0',
'version' => '0.12.0',
'url' => 'https://github.com/appwrite/sdk-for-dotnet',
'package' => 'https://www.nuget.org/packages/Appwrite',
'enabled' => true,
@ -371,7 +371,7 @@ return [
[
'key' => 'dart',
'name' => 'Dart',
'version' => '14.0.0',
'version' => '15.0.0',
'url' => 'https://github.com/appwrite/sdk-for-dart',
'package' => 'https://pub.dev/packages/dart_appwrite',
'enabled' => true,
@ -389,7 +389,7 @@ return [
[
'key' => 'kotlin',
'name' => 'Kotlin',
'version' => '6.2.0',
'version' => '8.0.0',
'url' => 'https://github.com/appwrite/sdk-for-kotlin',
'package' => 'https://search.maven.org/artifact/io.appwrite/sdk-for-kotlin',
'enabled' => true,
@ -411,7 +411,7 @@ return [
[
'key' => 'swift',
'name' => 'Swift',
'version' => '8.0.0',
'version' => '9.0.0',
'url' => 'https://github.com/appwrite/sdk-for-swift',
'package' => 'https://github.com/appwrite/sdk-for-swift',
'enabled' => true,

View file

@ -16,6 +16,9 @@
}
},
"servers": [
{
"url": "https:\/\/cloud.appwrite.io\/v1"
},
{
"url": "https:\/\/<REGION>.cloud.appwrite.io\/v1"
}

View file

@ -16,6 +16,9 @@
}
},
"servers": [
{
"url": "https:\/\/cloud.appwrite.io\/v1"
},
{
"url": "https:\/\/<REGION>.cloud.appwrite.io\/v1"
}

View file

@ -16,6 +16,9 @@
}
},
"servers": [
{
"url": "https:\/\/cloud.appwrite.io\/v1"
},
{
"url": "https:\/\/<REGION>.cloud.appwrite.io\/v1"
}

View file

@ -16,6 +16,9 @@
}
},
"servers": [
{
"url": "https:\/\/cloud.appwrite.io\/v1"
},
{
"url": "https:\/\/<REGION>.cloud.appwrite.io\/v1"
}

View file

@ -16,6 +16,9 @@
}
},
"servers": [
{
"url": "https:\/\/cloud.appwrite.io\/v1"
},
{
"url": "https:\/\/<REGION>.cloud.appwrite.io\/v1"
}

View file

@ -16,6 +16,9 @@
}
},
"servers": [
{
"url": "https:\/\/cloud.appwrite.io\/v1"
},
{
"url": "https:\/\/<REGION>.cloud.appwrite.io\/v1"
}

View file

@ -15,7 +15,8 @@
"url": "https:\/\/raw.githubusercontent.com\/appwrite\/appwrite\/master\/LICENSE"
}
},
"host": "<REGION>.cloud.appwrite.io",
"host": "cloud.appwrite.io",
"x-host-docs": "<REGION>.cloud.appwrite.io",
"basePath": "\/v1",
"schemes": [
"https"
@ -67,9 +68,7 @@
"get": {
"summary": "Get account",
"operationId": "accountGet",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],
@ -289,9 +288,7 @@
"get": {
"summary": "List identities",
"operationId": "accountListIdentities",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],
@ -465,9 +462,7 @@
"get": {
"summary": "List logs",
"operationId": "accountListLogs",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],
@ -975,9 +970,7 @@
"get": {
"summary": "List factors",
"operationId": "accountListMfaFactors",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],
@ -1028,9 +1021,7 @@
"get": {
"summary": "List MFA recovery codes",
"operationId": "accountGetMfaRecoveryCodes",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],
@ -1415,9 +1406,7 @@
"get": {
"summary": "Get account preferences",
"operationId": "accountGetPrefs",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],
@ -1707,9 +1696,7 @@
"get": {
"summary": "List sessions",
"operationId": "accountListSessions",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],
@ -2013,9 +2000,7 @@
"get": {
"summary": "Create OAuth2 session",
"operationId": "accountCreateOAuth2Session",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"text\/html"
],
@ -2303,9 +2288,7 @@
"get": {
"summary": "Get session",
"operationId": "accountGetSession",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],
@ -2930,9 +2913,7 @@
"get": {
"summary": "Create OAuth2 token",
"operationId": "accountCreateOAuth2Token",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"text\/html"
],
@ -3430,9 +3411,7 @@
"get": {
"summary": "Get browser icon",
"operationId": "avatarsGetBrowser",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"image\/png"
],
@ -3557,9 +3536,7 @@
"get": {
"summary": "Get credit card icon",
"operationId": "avatarsGetCreditCard",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"image\/png"
],
@ -3690,9 +3667,7 @@
"get": {
"summary": "Get favicon",
"operationId": "avatarsGetFavicon",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"image\/*"
],
@ -3755,9 +3730,7 @@
"get": {
"summary": "Get country flag",
"operationId": "avatarsGetFlag",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"image\/png"
],
@ -4244,9 +4217,7 @@
"get": {
"summary": "Get image from URL",
"operationId": "avatarsGetImage",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"image\/*"
],
@ -4329,9 +4300,7 @@
"get": {
"summary": "Get user initials",
"operationId": "avatarsGetInitials",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"image\/png"
],
@ -4422,9 +4391,7 @@
"get": {
"summary": "Get QR code",
"operationId": "avatarsGetQR",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"image\/png"
],
@ -4515,9 +4482,7 @@
"get": {
"summary": "List documents",
"operationId": "databasesListDocuments",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],
@ -4703,9 +4668,7 @@
"get": {
"summary": "Get document",
"operationId": "databasesGetDocument",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],
@ -4970,9 +4933,7 @@
"get": {
"summary": "List executions",
"operationId": "functionsListExecutions",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],
@ -5172,9 +5133,7 @@
"get": {
"summary": "Get execution",
"operationId": "functionsGetExecution",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],
@ -5392,9 +5351,7 @@
"get": {
"summary": "Get user locale",
"operationId": "localeGet",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],
@ -5446,9 +5403,7 @@
"get": {
"summary": "List locale codes",
"operationId": "localeListCodes",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],
@ -5500,9 +5455,7 @@
"get": {
"summary": "List continents",
"operationId": "localeListContinents",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],
@ -5554,9 +5507,7 @@
"get": {
"summary": "List countries",
"operationId": "localeListCountries",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],
@ -5608,9 +5559,7 @@
"get": {
"summary": "List EU countries",
"operationId": "localeListCountriesEU",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],
@ -5662,9 +5611,7 @@
"get": {
"summary": "List countries phone codes",
"operationId": "localeListCountriesPhones",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],
@ -5716,9 +5663,7 @@
"get": {
"summary": "List currencies",
"operationId": "localeListCurrencies",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],
@ -5770,9 +5715,7 @@
"get": {
"summary": "List languages",
"operationId": "localeListLanguages",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],
@ -5982,9 +5925,7 @@
"get": {
"summary": "List files",
"operationId": "storageListFiles",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],
@ -6157,9 +6098,7 @@
"get": {
"summary": "Get file",
"operationId": "storageGetFile",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],
@ -6388,9 +6327,7 @@
"get": {
"summary": "Get file for download",
"operationId": "storageGetFileDownload",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"*\/*"
],
@ -6460,9 +6397,7 @@
"get": {
"summary": "Get file preview",
"operationId": "storageGetFilePreview",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"image\/*"
],
@ -6660,9 +6595,7 @@
"get": {
"summary": "Get file for view",
"operationId": "storageGetFileView",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"*\/*"
],
@ -6732,9 +6665,7 @@
"get": {
"summary": "List teams",
"operationId": "teamsList",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],
@ -6899,9 +6830,7 @@
"get": {
"summary": "Get team",
"operationId": "teamsGet",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],
@ -7100,9 +7029,7 @@
"get": {
"summary": "List team memberships",
"operationId": "teamsListMemberships",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],
@ -7298,9 +7225,7 @@
"get": {
"summary": "Get team membership",
"operationId": "teamsGetMembership",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],
@ -7622,9 +7547,7 @@
"get": {
"summary": "Get team preferences",
"operationId": "teamsGetPrefs",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -15,7 +15,8 @@
"url": "https:\/\/raw.githubusercontent.com\/appwrite\/appwrite\/master\/LICENSE"
}
},
"host": "<REGION>.cloud.appwrite.io",
"host": "cloud.appwrite.io",
"x-host-docs": "<REGION>.cloud.appwrite.io",
"basePath": "\/v1",
"schemes": [
"https"
@ -67,9 +68,7 @@
"get": {
"summary": "Get account",
"operationId": "accountGet",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],
@ -289,9 +288,7 @@
"get": {
"summary": "List identities",
"operationId": "accountListIdentities",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],
@ -465,9 +462,7 @@
"get": {
"summary": "List logs",
"operationId": "accountListLogs",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],
@ -975,9 +970,7 @@
"get": {
"summary": "List factors",
"operationId": "accountListMfaFactors",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],
@ -1028,9 +1021,7 @@
"get": {
"summary": "List MFA recovery codes",
"operationId": "accountGetMfaRecoveryCodes",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],
@ -1415,9 +1406,7 @@
"get": {
"summary": "Get account preferences",
"operationId": "accountGetPrefs",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],
@ -1707,9 +1696,7 @@
"get": {
"summary": "List sessions",
"operationId": "accountListSessions",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],
@ -2013,9 +2000,7 @@
"get": {
"summary": "Create OAuth2 session",
"operationId": "accountCreateOAuth2Session",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"text\/html"
],
@ -2303,9 +2288,7 @@
"get": {
"summary": "Get session",
"operationId": "accountGetSession",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],
@ -2930,9 +2913,7 @@
"get": {
"summary": "Create OAuth2 token",
"operationId": "accountCreateOAuth2Token",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"text\/html"
],
@ -3430,9 +3411,7 @@
"get": {
"summary": "Get browser icon",
"operationId": "avatarsGetBrowser",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"image\/png"
],
@ -3557,9 +3536,7 @@
"get": {
"summary": "Get credit card icon",
"operationId": "avatarsGetCreditCard",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"image\/png"
],
@ -3690,9 +3667,7 @@
"get": {
"summary": "Get favicon",
"operationId": "avatarsGetFavicon",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"image\/*"
],
@ -3755,9 +3730,7 @@
"get": {
"summary": "Get country flag",
"operationId": "avatarsGetFlag",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"image\/png"
],
@ -4244,9 +4217,7 @@
"get": {
"summary": "Get image from URL",
"operationId": "avatarsGetImage",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"image\/*"
],
@ -4329,9 +4300,7 @@
"get": {
"summary": "Get user initials",
"operationId": "avatarsGetInitials",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"image\/png"
],
@ -4422,9 +4391,7 @@
"get": {
"summary": "Get QR code",
"operationId": "avatarsGetQR",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"image\/png"
],
@ -4515,9 +4482,7 @@
"get": {
"summary": "List documents",
"operationId": "databasesListDocuments",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],
@ -4703,9 +4668,7 @@
"get": {
"summary": "Get document",
"operationId": "databasesGetDocument",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],
@ -4970,9 +4933,7 @@
"get": {
"summary": "List executions",
"operationId": "functionsListExecutions",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],
@ -5172,9 +5133,7 @@
"get": {
"summary": "Get execution",
"operationId": "functionsGetExecution",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],
@ -5392,9 +5351,7 @@
"get": {
"summary": "Get user locale",
"operationId": "localeGet",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],
@ -5446,9 +5403,7 @@
"get": {
"summary": "List locale codes",
"operationId": "localeListCodes",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],
@ -5500,9 +5455,7 @@
"get": {
"summary": "List continents",
"operationId": "localeListContinents",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],
@ -5554,9 +5507,7 @@
"get": {
"summary": "List countries",
"operationId": "localeListCountries",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],
@ -5608,9 +5559,7 @@
"get": {
"summary": "List EU countries",
"operationId": "localeListCountriesEU",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],
@ -5662,9 +5611,7 @@
"get": {
"summary": "List countries phone codes",
"operationId": "localeListCountriesPhones",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],
@ -5716,9 +5663,7 @@
"get": {
"summary": "List currencies",
"operationId": "localeListCurrencies",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],
@ -5770,9 +5715,7 @@
"get": {
"summary": "List languages",
"operationId": "localeListLanguages",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],
@ -5982,9 +5925,7 @@
"get": {
"summary": "List files",
"operationId": "storageListFiles",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],
@ -6157,9 +6098,7 @@
"get": {
"summary": "Get file",
"operationId": "storageGetFile",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],
@ -6388,9 +6327,7 @@
"get": {
"summary": "Get file for download",
"operationId": "storageGetFileDownload",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"*\/*"
],
@ -6460,9 +6397,7 @@
"get": {
"summary": "Get file preview",
"operationId": "storageGetFilePreview",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"image\/*"
],
@ -6660,9 +6595,7 @@
"get": {
"summary": "Get file for view",
"operationId": "storageGetFileView",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"*\/*"
],
@ -6732,9 +6665,7 @@
"get": {
"summary": "List teams",
"operationId": "teamsList",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],
@ -6899,9 +6830,7 @@
"get": {
"summary": "Get team",
"operationId": "teamsGet",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],
@ -7100,9 +7029,7 @@
"get": {
"summary": "List team memberships",
"operationId": "teamsListMemberships",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],
@ -7298,9 +7225,7 @@
"get": {
"summary": "Get team membership",
"operationId": "teamsGetMembership",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],
@ -7622,9 +7547,7 @@
"get": {
"summary": "Get team preferences",
"operationId": "teamsGetPrefs",
"consumes": [
"application\/json"
],
"consumes": [],
"produces": [
"application\/json"
],

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -800,7 +800,7 @@ return [
],
[
'name' => '_APP_FUNCTIONS_CPUS',
'description' => 'The maximum number of CPU core a single cloud function is allowed to use. Please note that setting a value higher than available cores will result in a function error, which might result in an error. The default value is empty. When it\'s empty, CPU limit will be disabled.',
'description' => 'The maximum number of CPU core a single cloud function is allowed to use. Please note that setting a value higher than available cores will result in a function error, which might result in an error. The default value is empty. When it\'s empty or 0, CPU limit will be disabled.',
'introduction' => '0.7.0',
'default' => '0',
'required' => false,
@ -809,7 +809,7 @@ return [
],
[
'name' => '_APP_FUNCTIONS_MEMORY',
'description' => 'The maximum amount of memory a single cloud function is allowed to use in megabytes. The default value is empty. When it\'s empty, memory limit will be disabled.',
'description' => 'The maximum amount of memory a single cloud function is allowed to use in megabytes. The default value is empty. When it\'s empty or 0, memory limit will be disabled.',
'introduction' => '0.7.0',
'default' => '0',
'required' => false,

View file

@ -1445,7 +1445,7 @@ App::get('/v1/account/sessions/oauth2/:provider/redirect')
Query::notEqual('userInternalId', $user->getInternalId()),
]);
if (!$identityWithMatchingEmail->isEmpty()) {
throw new Exception(Exception::USER_ALREADY_EXISTS);
$failureRedirect(Exception::USER_ALREADY_EXISTS);
}
$userWithMatchingEmail = $dbForProject->find('users', [
@ -1453,7 +1453,7 @@ App::get('/v1/account/sessions/oauth2/:provider/redirect')
Query::notEqual('$id', $userId),
]);
if (!empty($userWithMatchingEmail)) {
throw new Exception(Exception::USER_ALREADY_EXISTS);
$failureRedirect(Exception::USER_ALREADY_EXISTS);
}
$sessionUpgrade = true;
@ -1482,7 +1482,7 @@ App::get('/v1/account/sessions/oauth2/:provider/redirect')
if ($user === false || $user->isEmpty()) { // No user logged in or with OAuth2 provider ID, create new one or connect with account with same email
if (empty($email)) {
throw new Exception(Exception::USER_UNAUTHORIZED, 'OAuth provider failed to return email.');
$failureRedirect(Exception::USER_UNAUTHORIZED, 'OAuth provider failed to return email.');
}
/**
@ -1525,7 +1525,7 @@ App::get('/v1/account/sessions/oauth2/:provider/redirect')
Query::equal('providerEmail', [$email]),
]);
if (!$identityWithMatchingEmail->isEmpty()) {
throw new Exception(Exception::GENERAL_BAD_REQUEST); /** Return a generic bad request to prevent exposing existing accounts */
$failureRedirect(Exception::GENERAL_BAD_REQUEST); /** Return a generic bad request to prevent exposing existing accounts */
}
try {
@ -1597,7 +1597,7 @@ App::get('/v1/account/sessions/oauth2/:provider/redirect')
Query::notEqual('userInternalId', $user->getInternalId()),
]);
if (!empty($identitiesWithMatchingEmail)) {
throw new Exception(Exception::GENERAL_BAD_REQUEST); /** Return a generic bad request to prevent exposing existing accounts */
$failureRedirect(Exception::GENERAL_BAD_REQUEST); /** Return a generic bad request to prevent exposing existing accounts */
}
$dbForProject->createDocument('identities', new Document([

View file

@ -186,8 +186,8 @@ App::post('/v1/functions')
->param('specification', APP_FUNCTION_SPECIFICATION_DEFAULT, fn (array $plan) => new RuntimeSpecification(
$plan,
Config::getParam('runtime-specifications', []),
App::getEnv('_APP_FUNCTIONS_CPUS', APP_FUNCTION_CPUS_DEFAULT),
App::getEnv('_APP_FUNCTIONS_MEMORY', APP_FUNCTION_MEMORY_DEFAULT)
System::getEnv('_APP_FUNCTIONS_CPUS', 0),
System::getEnv('_APP_FUNCTIONS_MEMORY', 0)
), 'Runtime specification for the function and builds.', true, ['plan'])
->inject('request')
->inject('response')
@ -569,8 +569,12 @@ App::get('/v1/functions/specifications')
$spec['enabled'] = in_array($spec['slug'], $plan['runtimeSpecifications']);
}
$maxCpus = System::getEnv('_APP_FUNCTIONS_CPUS', 0);
$maxMemory = System::getEnv('_APP_FUNCTIONS_MEMORY', 0);
// Only add specs that are within the limits set by environment variables
if ($spec['cpus'] <= System::getEnv('_APP_FUNCTIONS_CPUS', 1) && $spec['memory'] <= System::getEnv('_APP_FUNCTIONS_MEMORY', 512)) {
// Treat 0 as no limit
if ((empty($maxCpus) || $spec['cpus'] <= $maxCpus) && (empty($maxMemory) || $spec['memory'] <= $maxMemory)) {
$runtimeSpecs[] = $spec;
}
}
@ -872,8 +876,8 @@ App::put('/v1/functions/:functionId')
->param('specification', APP_FUNCTION_SPECIFICATION_DEFAULT, fn (array $plan) => new RuntimeSpecification(
$plan,
Config::getParam('runtime-specifications', []),
App::getEnv('_APP_FUNCTIONS_CPUS', APP_FUNCTION_CPUS_DEFAULT),
App::getEnv('_APP_FUNCTIONS_MEMORY', APP_FUNCTION_MEMORY_DEFAULT)
System::getEnv('_APP_FUNCTIONS_CPUS', 0),
System::getEnv('_APP_FUNCTIONS_MEMORY', 0)
), 'Runtime specification for the function and builds.', true, ['plan'])
->inject('request')
->inject('response')
@ -1296,8 +1300,7 @@ App::post('/v1/functions/:functionId/deployments')
->inject('deviceForFunctions')
->inject('deviceForLocal')
->inject('queueForBuilds')
->inject('plan')
->action(function (string $functionId, ?string $entrypoint, ?string $commands, mixed $code, mixed $activate, Request $request, Response $response, Database $dbForProject, Event $queueForEvents, Document $project, Device $deviceForFunctions, Device $deviceForLocal, Build $queueForBuilds, array $plan) {
->action(function (string $functionId, ?string $entrypoint, ?string $commands, mixed $code, mixed $activate, Request $request, Response $response, Database $dbForProject, Event $queueForEvents, Document $project, Device $deviceForFunctions, Device $deviceForLocal, Build $queueForBuilds) {
$activate = \strval($activate) === 'true' || \strval($activate) === '1';
@ -1330,14 +1333,8 @@ App::post('/v1/functions/:functionId/deployments')
throw new Exception(Exception::STORAGE_FILE_EMPTY, 'No file sent');
}
$functionSizeLimit = (int) System::getEnv('_APP_FUNCTIONS_SIZE_LIMIT', '30000000');
if (isset($plan['functionSize'])) {
$functionSizeLimit = $plan['functionSize'] * 1000 * 1000;
}
$fileExt = new FileExt([FileExt::TYPE_GZIP]);
$fileSizeValidator = new FileSize($functionSizeLimit);
$fileSizeValidator = new FileSize(System::getEnv('_APP_FUNCTIONS_SIZE_LIMIT', '30000000'));
$upload = new Upload();
// Make sure we handle a single file and multiple files the same way

View file

@ -43,29 +43,6 @@ $http = new Server(
$payloadSize = 12 * (1024 * 1024); // 12MB - adding slight buffer for headers and other data that might be sent with the payload - update later with valid testing
$totalWorkers = intval(System::getEnv('_APP_CPU_NUM', swoole_cpu_num())) * intval(System::getEnv('_APP_WORKER_PER_CORE', 6));
$http
->set([
'worker_num' => $totalWorkers,
'dispatch_func' => 'dispatch',
'open_http2_protocol' => true,
'http_compression' => false,
'package_max_length' => $payloadSize,
'buffer_output_size' => $payloadSize,
'task_worker_num' => 1, // required for the task to fetch domains background
]);
$http->on(Constant::EVENT_WORKER_START, function ($server, $workerId) {
Console::success('Worker ' . ++$workerId . ' started successfully');
});
$http->on(Constant::EVENT_BEFORE_RELOAD, function ($server, $workerId) {
Console::success('Starting reload...');
});
$http->on(Constant::EVENT_AFTER_RELOAD, function ($server, $workerId) {
Console::success('Reload completed...');
});
/**
* Assigns HTTP requests to worker threads by analyzing its payload/content.
*
@ -83,76 +60,105 @@ $http->on(Constant::EVENT_AFTER_RELOAD, function ($server, $workerId) {
*/
function dispatch(Server $server, int $fd, int $type, $data = null): int
{
global $totalWorkers, $domains;
$resolveWorkerId = function (Server $server, $data = null) {
global $totalWorkers, $domains;
// If data is not set we can send request to any worker
// first we try to pick idle worker, if not we randomly pick a worker
if ($data === null) {
// If data is not set we can send request to any worker
// first we try to pick idle worker, if not we randomly pick a worker
if ($data === null) {
for ($i = 0; $i < $totalWorkers; $i++) {
if ($server->getWorkerStatus($i) === SWOOLE_WORKER_IDLE) {
return $i;
}
}
return rand(0, $totalWorkers - 1);
}
$riskyWorkersPercent = intval(System::getEnv('_APP_RISKY_WORKERS_PERCENT', 80)) / 100; // Decimal form 0 to 1
// Each worker has numeric ID, starting from 0 and incrementing
// From 0 to riskyWorkers, we consider safe workers
// From riskyWorkers to totalWorkers, we consider risky workers
$riskyWorkers = (int)floor($totalWorkers * $riskyWorkersPercent); // Absolute amount of risky workers
$domain = '';
// max up to 3 as first line has request details and second line has host
$lines = explode("\n", $data, 3);
$request = $lines[0];
if (count($lines) > 1) {
$domain = trim(explode('Host: ', $lines[1])[1]);
}
// Sync executions are considered risky
$risky = false;
if (str_starts_with($request, 'POST') && str_contains($request, '/executions')) {
$risky = true;
} elseif (str_ends_with($domain, System::getEnv('_APP_DOMAIN_FUNCTIONS'))) {
$risky = true;
} elseif ($domains->get(md5($domain), 'value') === 1) {
// executions request coming from custom domain
$risky = true;
}
if ($risky) {
// If risky request, only consider risky workers
for ($j = $riskyWorkers; $j < $totalWorkers; $j++) {
/** Reference https://openswoole.com/docs/modules/swoole-server-getWorkerStatus#description */
if ($server->getWorkerStatus($j) === SWOOLE_WORKER_IDLE) {
// If idle worker found, give to him
return $j;
}
}
// If no idle workers, give to random risky worker
$worker = rand($riskyWorkers, $totalWorkers - 1);
Console::warning("swoole_dispatch: Risky branch: did not find a idle worker, picking random worker {$worker}");
return $worker;
}
// If safe request, give to any idle worker
// Its fine to pick risky worker here, because it's idle. Idle is never actually risky
for ($i = 0; $i < $totalWorkers; $i++) {
if ($server->getWorkerStatus($i) === SWOOLE_WORKER_IDLE) {
return $i;
}
}
return rand(0, $totalWorkers - 1);
}
$riskyWorkersPercent = intval(System::getEnv('_APP_RISKY_WORKERS_PERCENT', 80)) / 100; // Decimal form 0 to 1
// Each worker has numeric ID, starting from 0 and incrementing
// From 0 to riskyWorkers, we consider safe workers
// From riskyWorkers to totalWorkers, we consider risky workers
$riskyWorkers = (int) floor($totalWorkers * $riskyWorkersPercent); // Absolute amount of risky workers
$domain = '';
// max up to 3 as first line has request details and second line has host
$lines = explode("\n", $data, 3);
$request = $lines[0];
if (count($lines) > 1) {
$domain = trim(explode('Host: ', $lines[1])[1]);
}
// Sync executions are considered risky
$risky = false;
if (str_starts_with($request, 'POST') && str_contains($request, '/executions')) {
$risky = true;
} elseif (str_ends_with($domain, System::getEnv('_APP_DOMAIN_FUNCTIONS'))) {
$risky = true;
} elseif ($domains->get(md5($domain), 'value') === 1) {
// executions request coming from custom domain
$risky = true;
}
if ($risky) {
// If risky request, only consider risky workers
for ($j = $riskyWorkers; $j < $totalWorkers; $j++) {
/** Reference https://openswoole.com/docs/modules/swoole-server-getWorkerStatus#description */
if ($server->getWorkerStatus($j) === SWOOLE_WORKER_IDLE) {
// If idle worker found, give to him
return $j;
}
}
// If no idle workers, give to random risky worker
$worker = rand($riskyWorkers, $totalWorkers - 1);
Console::warning("swoole_dispatch: Risky branch: did not find a idle worker, picking random worker {$worker}");
// If no idle worker found, give to random safe worker
// We avoid risky workers here, as it could be in work - not idle. Thats exactly when they are risky.
$worker = rand(0, $riskyWorkers - 1);
Console::warning("swoole_dispatch: Non-risky branch: did not find a idle worker, picking random worker {$worker}");
return $worker;
}
// If safe request, give to any idle worker
// Its fine to pick risky worker here, because it's idle. Idle is never actually risky
for ($i = 0; $i < $totalWorkers; $i++) {
if ($server->getWorkerStatus($i) === SWOOLE_WORKER_IDLE) {
return $i;
}
}
// If no idle worker found, give to random safe worker
// We avoid risky workers here, as it could be in work - not idle. Thats exactly when they are risky.
$worker = rand(0, $riskyWorkers - 1);
Console::warning("swoole_dispatch: Non-risky branch: did not find a idle worker, picking random worker {$worker}");
return $worker;
};
$workerId = $resolveWorkerId($server, $data);
$server->bind($fd, $workerId);
return $workerId;
}
$http
->set([
Constant::OPTION_WORKER_NUM => $totalWorkers,
Constant::OPTION_DISPATCH_FUNC => dispatch(...),
Constant::OPTION_DISPATCH_MODE => SWOOLE_DISPATCH_UIDMOD,
Constant::OPTION_HTTP_COMPRESSION => false,
Constant::OPTION_PACKAGE_MAX_LENGTH => $payloadSize,
Constant::OPTION_OUTPUT_BUFFER_SIZE => $payloadSize,
Constant::OPTION_TASK_WORKER_NUM => 1, // required for the task to fetch domains background
]);
$http->on(Constant::EVENT_WORKER_START, function ($server, $workerId) {
Console::success('Worker ' . ++$workerId . ' started successfully');
});
$http->on(Constant::EVENT_BEFORE_RELOAD, function ($server, $workerId) {
Console::success('Starting reload...');
});
$http->on(Constant::EVENT_AFTER_RELOAD, function ($server, $workerId) {
Console::success('Reload completed...');
});
include __DIR__ . '/controllers/general.php';
function createDatabase(App $app, string $resourceKey, string $dbName, array $collections, mixed $pools, callable $extraSetup = null): void

View file

@ -266,10 +266,6 @@ Server::setResource('timelimit', function (\Redis $redis) {
Server::setResource('log', fn () => new Log());
Server::setResource('plan', function (array $plan = []) {
return [];
});
Server::setResource('publisher', function (Group $pools) {
return $pools->get('publisher')->pop()->getResource();
}, ['pools']);

24
composer.lock generated
View file

@ -3660,16 +3660,16 @@
},
{
"name": "utopia-php/fetch",
"version": "0.4.1",
"version": "0.4.2",
"source": {
"type": "git",
"url": "https://github.com/utopia-php/fetch.git",
"reference": "65095dac14037db0c822fb5e209e5bd3187a0303"
"reference": "83986d1be75a2fae4e684107fe70dd78a8e19b77"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/utopia-php/fetch/zipball/65095dac14037db0c822fb5e209e5bd3187a0303",
"reference": "65095dac14037db0c822fb5e209e5bd3187a0303",
"url": "https://api.github.com/repos/utopia-php/fetch/zipball/83986d1be75a2fae4e684107fe70dd78a8e19b77",
"reference": "83986d1be75a2fae4e684107fe70dd78a8e19b77",
"shasum": ""
},
"require": {
@ -3693,9 +3693,9 @@
"description": "A simple library that provides an interface for making HTTP Requests.",
"support": {
"issues": "https://github.com/utopia-php/fetch/issues",
"source": "https://github.com/utopia-php/fetch/tree/0.4.1"
"source": "https://github.com/utopia-php/fetch/tree/0.4.2"
},
"time": "2025-04-14T07:34:27+00:00"
"time": "2025-04-25T13:48:02+00:00"
},
{
"name": "utopia-php/framework",
@ -4767,16 +4767,16 @@
"packages-dev": [
{
"name": "appwrite/sdk-generator",
"version": "0.40.12",
"version": "0.40.15",
"source": {
"type": "git",
"url": "https://github.com/appwrite/sdk-generator.git",
"reference": "182ec17848f81b78c336379bac94ff92b7a73365"
"reference": "65c708b931b29b3e01c5cc7504a734ce2cc3dc95"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/appwrite/sdk-generator/zipball/182ec17848f81b78c336379bac94ff92b7a73365",
"reference": "182ec17848f81b78c336379bac94ff92b7a73365",
"url": "https://api.github.com/repos/appwrite/sdk-generator/zipball/65c708b931b29b3e01c5cc7504a734ce2cc3dc95",
"reference": "65c708b931b29b3e01c5cc7504a734ce2cc3dc95",
"shasum": ""
},
"require": {
@ -4812,9 +4812,9 @@
"description": "Appwrite PHP library for generating API SDKs for multiple programming languages and platforms",
"support": {
"issues": "https://github.com/appwrite/sdk-generator/issues",
"source": "https://github.com/appwrite/sdk-generator/tree/0.40.12"
"source": "https://github.com/appwrite/sdk-generator/tree/0.40.15"
},
"time": "2025-04-02T23:36:11+00:00"
"time": "2025-04-25T08:50:44+00:00"
},
{
"name": "doctrine/annotations",

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Account;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Account account = new Account(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Account;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Account account = new Account(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Account;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Account account = new Account(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Account;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Account account = new Account(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Account;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Account account = new Account(client);

View file

@ -4,7 +4,7 @@ import io.appwrite.services.Account;
import io.appwrite.enums.AuthenticatorType;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Account account = new Account(client);

View file

@ -4,7 +4,7 @@ import io.appwrite.services.Account;
import io.appwrite.enums.AuthenticationFactor;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Account account = new Account(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Account;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Account account = new Account(client);

View file

@ -4,7 +4,7 @@ import io.appwrite.services.Account;
import io.appwrite.enums.OAuthProvider;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Account account = new Account(client);

View file

@ -4,7 +4,7 @@ import io.appwrite.services.Account;
import io.appwrite.enums.OAuthProvider;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Account account = new Account(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Account;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Account account = new Account(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Account;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Account account = new Account(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Account;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Account account = new Account(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Account;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Account account = new Account(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Account;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Account account = new Account(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Account;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Account account = new Account(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Account;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Account account = new Account(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Account;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Account account = new Account(client);

View file

@ -4,7 +4,7 @@ import io.appwrite.services.Account;
import io.appwrite.enums.AuthenticatorType;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Account account = new Account(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Account;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Account account = new Account(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Account;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Account account = new Account(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Account;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Account account = new Account(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Account;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Account account = new Account(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Account;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Account account = new Account(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Account;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Account account = new Account(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Account;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Account account = new Account(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Account;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Account account = new Account(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Account;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Account account = new Account(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Account;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Account account = new Account(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Account;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Account account = new Account(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Account;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Account account = new Account(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Account;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Account account = new Account(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Account;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Account account = new Account(client);

View file

@ -4,7 +4,7 @@ import io.appwrite.services.Account;
import io.appwrite.enums.AuthenticatorType;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Account account = new Account(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Account;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Account account = new Account(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Account;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Account account = new Account(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Account;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Account account = new Account(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Account;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Account account = new Account(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Account;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Account account = new Account(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Account;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Account account = new Account(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Account;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Account account = new Account(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Account;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Account account = new Account(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Account;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Account account = new Account(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Account;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Account account = new Account(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Account;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Account account = new Account(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Account;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Account account = new Account(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Account;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Account account = new Account(client);

View file

@ -4,7 +4,7 @@ import io.appwrite.services.Avatars;
import io.appwrite.enums.Browser;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Avatars avatars = new Avatars(client);

View file

@ -4,7 +4,7 @@ import io.appwrite.services.Avatars;
import io.appwrite.enums.CreditCard;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Avatars avatars = new Avatars(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Avatars;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Avatars avatars = new Avatars(client);

View file

@ -4,7 +4,7 @@ import io.appwrite.services.Avatars;
import io.appwrite.enums.Flag;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Avatars avatars = new Avatars(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Avatars;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Avatars avatars = new Avatars(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Avatars;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Avatars avatars = new Avatars(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Avatars;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Avatars avatars = new Avatars(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Databases;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Databases databases = new Databases(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Databases;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Databases databases = new Databases(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Databases;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Databases databases = new Databases(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Databases;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Databases databases = new Databases(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Databases;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Databases databases = new Databases(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Functions;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Functions functions = new Functions(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Functions;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Functions functions = new Functions(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Functions;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Functions functions = new Functions(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Graphql;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Graphql graphql = new Graphql(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Graphql;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Graphql graphql = new Graphql(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Locale;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Locale locale = new Locale(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Locale;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Locale locale = new Locale(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Locale;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Locale locale = new Locale(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Locale;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Locale locale = new Locale(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Locale;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Locale locale = new Locale(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Locale;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Locale locale = new Locale(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Locale;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Locale locale = new Locale(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Locale;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Locale locale = new Locale(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Messaging;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Messaging messaging = new Messaging(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Messaging;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Messaging messaging = new Messaging(client);

View file

@ -4,7 +4,7 @@ import io.appwrite.models.InputFile;
import io.appwrite.services.Storage;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Storage storage = new Storage(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Storage;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Storage storage = new Storage(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Storage;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Storage storage = new Storage(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Storage;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Storage storage = new Storage(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Storage;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Storage storage = new Storage(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Storage;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Storage storage = new Storage(client);

View file

@ -3,7 +3,7 @@ import io.appwrite.coroutines.CoroutineCallback;
import io.appwrite.services.Storage;
Client client = new Client(context)
.setEndpoint("https://cloud.appwrite.io/v1") // Your API Endpoint
.setEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
.setProject("<YOUR_PROJECT_ID>"); // Your project ID
Storage storage = new Storage(client);

Some files were not shown because too many files have changed in this diff Show more