From 7b3adbe2b09cfba1fe4480467745566b47eed210 Mon Sep 17 00:00:00 2001 From: Eldad Fux Date: Sat, 1 Aug 2020 06:48:36 +0300 Subject: [PATCH 01/13] Added Deno SDK --- README.md | 1 + app/config/platforms.php | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index bc78047f0f..4e410a5437 100644 --- a/README.md +++ b/README.md @@ -115,6 +115,7 @@ Below is a list of currently supported platforms and languages. If you wish to h #### Server * ✅ [NodeJS](https://github.com/appwrite/sdk-for-node) (Maintained by the Appwrite Team) * ✅ [PHP](https://github.com/appwrite/sdk-for-php) (Maintained by the Appwrite Team) +* ✅ [Deno](https://github.com/appwrite/sdk-for-deno) - **Beta** (Maintained by the Appwrite Team) * ✅ [Ruby](https://github.com/appwrite/sdk-for-ruby) - **Beta** (Maintained by the Appwrite Team) * ✅ [Python](https://github.com/appwrite/sdk-for-python) - **Beta** (Maintained by the Appwrite Team) * ✅ [Go](https://github.com/appwrite/sdk-for-go) **Work in progress** (Maintained by the Appwrite Team) diff --git a/app/config/platforms.php b/app/config/platforms.php index b424b06e5e..e3bda605e5 100644 --- a/app/config/platforms.php +++ b/app/config/platforms.php @@ -167,7 +167,7 @@ return [ 'name' => 'Deno', 'version' => '0.0.2', 'url' => 'https://github.com/appwrite/sdk-for-deno', - 'enabled' => false, + 'enabled' => true, 'beta' => true, 'dev' => false, 'family' => APP_PLATFORM_SERVER, From b3930ff37a0a60a091a813d192f35d3ab98b3a19 Mon Sep 17 00:00:00 2001 From: Eldad Fux Date: Thu, 3 Sep 2020 13:40:38 +0300 Subject: [PATCH 02/13] Updated flutter-dev channel --- app/config/platforms.php | 2 +- app/sdks/client-flutter-dev/CHANGELOG.md | 5 + app/sdks/client-flutter-dev/README.md | 2 +- app/sdks/client-flutter-dev/lib/client.dart | 44 +++-- .../lib/services/avatars.dart | 24 +++ .../lib/services/storage.dart | 12 ++ app/sdks/client-flutter-dev/pubspec.yaml | 31 +--- composer.lock | 173 +++++++++++++----- docs/sdks/flutter-dev/CHANGELOG.md | 5 + docs/sdks/flutter/CHANGELOG.md | 5 + 10 files changed, 212 insertions(+), 91 deletions(-) diff --git a/app/config/platforms.php b/app/config/platforms.php index e3bda605e5..269b9e754c 100644 --- a/app/config/platforms.php +++ b/app/config/platforms.php @@ -45,7 +45,7 @@ return [ [ 'key' => 'flutter-dev', 'name' => 'Flutter (Dev Channel)', - 'version' => '0.2.3', + 'version' => '0.3.0', 'url' => 'https://github.com/appwrite/sdk-for-flutter-dev', 'enabled' => true, 'beta' => true, diff --git a/app/sdks/client-flutter-dev/CHANGELOG.md b/app/sdks/client-flutter-dev/CHANGELOG.md index c9013a17eb..df959d1994 100644 --- a/app/sdks/client-flutter-dev/CHANGELOG.md +++ b/app/sdks/client-flutter-dev/CHANGELOG.md @@ -1,3 +1,8 @@ +## 0.3.0 + +- Updated package dependencies (@lohanidamodar) +- Added Flutter for Web compatibility (@lohanidamodar) + ## 0.2.3 - Fixed OAuth2 cookie bug, where a new session cookie couldn't overwrite an old cookie diff --git a/app/sdks/client-flutter-dev/README.md b/app/sdks/client-flutter-dev/README.md index 09deaf5054..50cfb8336e 100644 --- a/app/sdks/client-flutter-dev/README.md +++ b/app/sdks/client-flutter-dev/README.md @@ -20,7 +20,7 @@ Add this to your package's `pubspec.yaml` file: ```yml dependencies: - appwrite: ^0.2.3 + appwrite: ^0.3.0 ``` You can install packages from the command line: diff --git a/app/sdks/client-flutter-dev/lib/client.dart b/app/sdks/client-flutter-dev/lib/client.dart index 7a53d0414b..29d9884cfe 100644 --- a/app/sdks/client-flutter-dev/lib/client.dart +++ b/app/sdks/client-flutter-dev/lib/client.dart @@ -1,6 +1,7 @@ import 'dart:io'; import 'package:dio/dio.dart'; +import 'package:flutter/foundation.dart'; import 'package:dio/adapter.dart'; import 'package:dio_cookie_manager/dio_cookie_manager.dart'; import 'package:cookie_jar/cookie_jar.dart'; @@ -20,17 +21,21 @@ class Client { PersistCookieJar cookieJar; Client({this.endPoint = 'https://appwrite.io/v1', this.selfSigned = false, Dio http}) : this.http = http ?? Dio() { - - type = (Platform.isIOS) ? 'ios' : type; - type = (Platform.isMacOS) ? 'macos' : type; - type = (Platform.isAndroid) ? 'android' : type; - type = (Platform.isLinux) ? 'linux' : type; - type = (Platform.isWindows) ? 'windows' : type; - type = (Platform.isFuchsia) ? 'fuchsia' : type; + // Platform is not supported in web so if web, set type to web automatically and skip Platform check + if(kIsWeb) { + type = 'web'; + }else{ + type = (Platform.isIOS) ? 'ios' : type; + type = (Platform.isMacOS) ? 'macos' : type; + type = (Platform.isAndroid) ? 'android' : type; + type = (Platform.isLinux) ? 'linux' : type; + type = (Platform.isWindows) ? 'windows' : type; + type = (Platform.isFuchsia) ? 'fuchsia' : type; + } this.headers = { 'content-type': 'application/json', - 'x-sdk-version': 'appwrite:dart:0.2.3', + 'x-sdk-version': 'appwrite:flutter:0.3.0', }; this.config = {}; @@ -78,17 +83,20 @@ class Client { Future init() async { if(!initialized) { - final Directory cookieDir = await _getCookiePath(); - - cookieJar = new PersistCookieJar(dir:cookieDir.path); + // if web skip cookie implementation and origin header as those are automatically handled by browsers + if(!kIsWeb) { + final Directory cookieDir = await _getCookiePath(); + cookieJar = new PersistCookieJar(dir:cookieDir.path); + this.http.interceptors.add(CookieManager(cookieJar)); + PackageInfo packageInfo = await PackageInfo.fromPlatform(); + addHeader('Origin', 'appwrite-' + type + '://' + packageInfo.packageName); + }else{ + // if web set httpClientAdapter as BrowserHttpClientAdapter with withCredentials true to make cookies work + this.http.options.extra['withCredentials'] = true; + } this.http.options.baseUrl = this.endPoint; this.http.options.validateStatus = (status) => status < 400; - this.http.interceptors.add(CookieManager(cookieJar)); - - PackageInfo packageInfo = await PackageInfo.fromPlatform(); - - addHeader('Origin', 'appwrite-' + type + '://' + packageInfo.packageName); } } @@ -114,6 +122,10 @@ class Client { } if (method == HttpMethod.get) { + params.keys.forEach((key) {if (params[key] is int || params[key] is double) { + params[key] = params[key].toString(); + }}); + return http.get(path, queryParameters: params, options: options); } else { return http.request(path, data: params, options: options); diff --git a/app/sdks/client-flutter-dev/lib/services/avatars.dart b/app/sdks/client-flutter-dev/lib/services/avatars.dart index fc9c403d90..828ea7dfb0 100644 --- a/app/sdks/client-flutter-dev/lib/services/avatars.dart +++ b/app/sdks/client-flutter-dev/lib/services/avatars.dart @@ -27,6 +27,10 @@ class Avatars extends Service { 'project': client.config['project'], }; + params.keys.forEach((key) {if (params[key] is int || params[key] is double) { + params[key] = params[key].toString(); + }}); + Uri endpoint = Uri.parse(client.endPoint); Uri location = new Uri(scheme: endpoint.scheme, host: endpoint.host, @@ -55,6 +59,10 @@ class Avatars extends Service { 'project': client.config['project'], }; + params.keys.forEach((key) {if (params[key] is int || params[key] is double) { + params[key] = params[key].toString(); + }}); + Uri endpoint = Uri.parse(client.endPoint); Uri location = new Uri(scheme: endpoint.scheme, host: endpoint.host, @@ -79,6 +87,10 @@ class Avatars extends Service { 'project': client.config['project'], }; + params.keys.forEach((key) {if (params[key] is int || params[key] is double) { + params[key] = params[key].toString(); + }}); + Uri endpoint = Uri.parse(client.endPoint); Uri location = new Uri(scheme: endpoint.scheme, host: endpoint.host, @@ -106,6 +118,10 @@ class Avatars extends Service { 'project': client.config['project'], }; + params.keys.forEach((key) {if (params[key] is int || params[key] is double) { + params[key] = params[key].toString(); + }}); + Uri endpoint = Uri.parse(client.endPoint); Uri location = new Uri(scheme: endpoint.scheme, host: endpoint.host, @@ -134,6 +150,10 @@ class Avatars extends Service { 'project': client.config['project'], }; + params.keys.forEach((key) {if (params[key] is int || params[key] is double) { + params[key] = params[key].toString(); + }}); + Uri endpoint = Uri.parse(client.endPoint); Uri location = new Uri(scheme: endpoint.scheme, host: endpoint.host, @@ -161,6 +181,10 @@ class Avatars extends Service { 'project': client.config['project'], }; + params.keys.forEach((key) {if (params[key] is int || params[key] is double) { + params[key] = params[key].toString(); + }}); + Uri endpoint = Uri.parse(client.endPoint); Uri location = new Uri(scheme: endpoint.scheme, host: endpoint.host, diff --git a/app/sdks/client-flutter-dev/lib/services/storage.dart b/app/sdks/client-flutter-dev/lib/services/storage.dart index 696c15ee3a..51f9345050 100644 --- a/app/sdks/client-flutter-dev/lib/services/storage.dart +++ b/app/sdks/client-flutter-dev/lib/services/storage.dart @@ -124,6 +124,10 @@ class Storage extends Service { 'project': client.config['project'], }; + params.keys.forEach((key) {if (params[key] is int || params[key] is double) { + params[key] = params[key].toString(); + }}); + Uri endpoint = Uri.parse(client.endPoint); Uri location = new Uri(scheme: endpoint.scheme, host: endpoint.host, @@ -154,6 +158,10 @@ class Storage extends Service { 'project': client.config['project'], }; + params.keys.forEach((key) {if (params[key] is int || params[key] is double) { + params[key] = params[key].toString(); + }}); + Uri endpoint = Uri.parse(client.endPoint); Uri location = new Uri(scheme: endpoint.scheme, host: endpoint.host, @@ -178,6 +186,10 @@ class Storage extends Service { 'project': client.config['project'], }; + params.keys.forEach((key) {if (params[key] is int || params[key] is double) { + params[key] = params[key].toString(); + }}); + Uri endpoint = Uri.parse(client.endPoint); Uri location = new Uri(scheme: endpoint.scheme, host: endpoint.host, diff --git a/app/sdks/client-flutter-dev/pubspec.yaml b/app/sdks/client-flutter-dev/pubspec.yaml index ea8f29d01e..5dc7fc8457 100644 --- a/app/sdks/client-flutter-dev/pubspec.yaml +++ b/app/sdks/client-flutter-dev/pubspec.yaml @@ -1,5 +1,5 @@ -name: appwrite -version: 0.2.3 +name: appwrite-dev +version: 0.3.0 description: Appwrite is an open-source self-hosted backend server that abstract and simplify complex and repetitive development tasks behind a very simple REST API homepage: https://appwrite.io repository: https://github.com/appwrite/sdk-for-flutter-dev @@ -8,31 +8,16 @@ documentation: https://appwrite.io/support environment: sdk: '>=2.6.0 <3.0.0' dependencies: - meta: ^1.1.8 - path_provider: ^1.6.5 - package_info: ^0.4.0+16 - dio: ^3.0.0 - cookie_jar: ^1.0.0 + meta: ^1.2.2 + path_provider: ^1.6.14 + package_info: ^0.4.3 + dio: ^3.0.10 + cookie_jar: ^1.0.1 dio_cookie_manager: ^1.0.0 flutter_web_auth: ^0.2.4 flutter: sdk: flutter - # The following adds the Cupertino Icons font to your application. - # Use with the CupertinoIcons class for iOS style icons. - cupertino_icons: ^0.1.2 - dev_dependencies: flutter_test: - sdk: flutter - -# For information on the generic Dart part of this file, see the -# following page: https://dart.dev/tools/pub/pubspec - -# The following section is specific to Flutter. -flutter: - - # The following line ensures that the Material Icons font is - # included with your application, so that you can use the icons in - # the material Icons class. - uses-material-design: true \ No newline at end of file + sdk: flutter \ No newline at end of file diff --git a/composer.lock b/composer.lock index d4d95b4b55..edadc2bd5e 100644 --- a/composer.lock +++ b/composer.lock @@ -239,12 +239,12 @@ "source": { "type": "git", "url": "https://github.com/composer/ca-bundle.git", - "reference": "95c63ab2117a72f48f5a55da9740a3273d45b7fd" + "reference": "8a7ecad675253e4654ea05505233285377405215" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/ca-bundle/zipball/95c63ab2117a72f48f5a55da9740a3273d45b7fd", - "reference": "95c63ab2117a72f48f5a55da9740a3273d45b7fd", + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/8a7ecad675253e4654ea05505233285377405215", + "reference": "8a7ecad675253e4654ea05505233285377405215", "shasum": "" }, "require": { @@ -287,25 +287,39 @@ "ssl", "tls" ], - "time": "2020-04-08T08:27:21+00:00" + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2020-08-23T12:54:47+00:00" }, { "name": "dasprid/enum", - "version": "1.0.0", + "version": "1.0.2", "source": { "type": "git", "url": "https://github.com/DASPRiD/Enum.git", - "reference": "631ef6e638e9494b0310837fa531bedd908fc22b" + "reference": "6ccc0d7141a7f149e3c56cb0ce5f05d9152cfd07" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/DASPRiD/Enum/zipball/631ef6e638e9494b0310837fa531bedd908fc22b", - "reference": "631ef6e638e9494b0310837fa531bedd908fc22b", + "url": "https://api.github.com/repos/DASPRiD/Enum/zipball/6ccc0d7141a7f149e3c56cb0ce5f05d9152cfd07", + "reference": "6ccc0d7141a7f149e3c56cb0ce5f05d9152cfd07", "shasum": "" }, "require-dev": { - "phpunit/phpunit": "^6.4", - "squizlabs/php_codesniffer": "^3.1" + "phpunit/phpunit": "^7 | ^8 | ^9", + "squizlabs/php_codesniffer": "^3.4" }, "type": "library", "autoload": { @@ -321,7 +335,8 @@ { "name": "Ben Scholzen 'DASPRiD'", "email": "mail@dasprids.de", - "homepage": "https://dasprids.de/" + "homepage": "https://dasprids.de/", + "role": "Developer" } ], "description": "PHP 7.1 enum implementation", @@ -329,7 +344,7 @@ "enum", "map" ], - "time": "2017-10-25T22:45:27+00:00" + "time": "2020-07-30T16:37:13+00:00" }, { "name": "domnikl/statsd", @@ -544,6 +559,28 @@ "rest", "web service" ], + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://github.com/alexeyshockov", + "type": "github" + }, + { + "url": "https://github.com/gmponos", + "type": "github" + }, + { + "url": "https://github.com/sagikazarmark", + "type": "github" + } + ], "time": "2020-07-02T06:52:04+00:00" }, { @@ -731,29 +768,29 @@ }, { "name": "maxmind-db/reader", - "version": "v1.6.0", + "version": "v1.7.0", "source": { "type": "git", "url": "https://github.com/maxmind/MaxMind-DB-Reader-php.git", - "reference": "febd4920bf17c1da84cef58e56a8227dfb37fbe4" + "reference": "942553da239f12051275f9c666538b5dd09e2908" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/maxmind/MaxMind-DB-Reader-php/zipball/febd4920bf17c1da84cef58e56a8227dfb37fbe4", - "reference": "febd4920bf17c1da84cef58e56a8227dfb37fbe4", + "url": "https://api.github.com/repos/maxmind/MaxMind-DB-Reader-php/zipball/942553da239f12051275f9c666538b5dd09e2908", + "reference": "942553da239f12051275f9c666538b5dd09e2908", "shasum": "" }, "require": { - "php": ">=5.6" + "php": ">=7.2" }, "conflict": { - "ext-maxminddb": "<1.6.0,>=2.0.0" + "ext-maxminddb": "<1.7.0,>=2.0.0" }, "require-dev": { "friendsofphp/php-cs-fixer": "2.*", "php-coveralls/php-coveralls": "^2.1", - "phpunit/phpcov": "^3.0", - "phpunit/phpunit": "5.*", + "phpunit/phpcov": ">=6.0.0", + "phpunit/phpunit": ">=8.0.0,<10.0.0", "squizlabs/php_codesniffer": "3.*" }, "suggest": { @@ -787,7 +824,7 @@ "geolocation", "maxmind" ], - "time": "2019-12-19T22:59:03+00:00" + "time": "2020-08-07T22:10:05+00:00" }, { "name": "maxmind/web-service-common", @@ -987,6 +1024,12 @@ } ], "description": "PHPMailer is a full-featured email creation and transfer class for PHP", + "funding": [ + { + "url": "https://github.com/synchro", + "type": "github" + } + ], "time": "2020-05-27T12:24:03+00:00" }, { @@ -1183,12 +1226,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "bc6549d068d0160e0f10f7a5a23c7d1406b95ebe" + "reference": "045643b91eaa34c4c37150ac477765c13552af33" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/bc6549d068d0160e0f10f7a5a23c7d1406b95ebe", - "reference": "bc6549d068d0160e0f10f7a5a23c7d1406b95ebe", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/045643b91eaa34c4c37150ac477765c13552af33", + "reference": "045643b91eaa34c4c37150ac477765c13552af33", "shasum": "" }, "require": { @@ -1260,7 +1303,7 @@ "type": "tidelift" } ], - "time": "2020-07-14T12:35:20+00:00" + "time": "2020-08-04T21:02:56+00:00" }, { "name": "symfony/polyfill-intl-normalizer", @@ -1923,7 +1966,7 @@ "source": { "type": "git", "url": "https://github.com/appwrite/sdk-generator", - "reference": "404cf6bb4c75f8ae3b2419e04f6afd215ed706a5" + "reference": "0dea55e58e3ec59dd3557a4144fcbb390691e03a" }, "require": { "ext-curl": "*", @@ -1953,7 +1996,7 @@ } ], "description": "Appwrite PHP library for generating API SDKs for multiple programming languages and platforms", - "time": "2020-07-26T07:11:06+00:00" + "time": "2020-09-03T10:16:09+00:00" }, { "name": "doctrine/instantiator", @@ -2009,6 +2052,20 @@ "constructor", "instantiate" ], + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator", + "type": "tidelift" + } + ], "time": "2020-06-15T18:51:04+00:00" }, { @@ -2126,12 +2183,12 @@ "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "969b211f9a51aa1f6c01d1d2aef56d3bd91598e5" + "reference": "a3409d10079990eeb489c3fead0ac070b5b38895" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/969b211f9a51aa1f6c01d1d2aef56d3bd91598e5", - "reference": "969b211f9a51aa1f6c01d1d2aef56d3bd91598e5", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/a3409d10079990eeb489c3fead0ac070b5b38895", + "reference": "a3409d10079990eeb489c3fead0ac070b5b38895", "shasum": "" }, "require": { @@ -2166,7 +2223,13 @@ "object", "object graph" ], - "time": "2020-06-29T13:22:24+00:00" + "funding": [ + { + "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", + "type": "tidelift" + } + ], + "time": "2020-08-28T16:31:07+00:00" }, { "name": "phar-io/manifest", @@ -2325,12 +2388,12 @@ "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "1ac416df3f66c542f2d3688925105b539f064b64" + "reference": "f6075926e937828b180e02964e2d2062af8a9537" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/1ac416df3f66c542f2d3688925105b539f064b64", - "reference": "1ac416df3f66c542f2d3688925105b539f064b64", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/f6075926e937828b180e02964e2d2062af8a9537", + "reference": "f6075926e937828b180e02964e2d2062af8a9537", "shasum": "" }, "require": { @@ -2369,34 +2432,33 @@ } ], "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", - "time": "2020-07-21T08:16:41+00:00" + "time": "2020-09-02T21:38:01+00:00" }, { "name": "phpdocumentor/type-resolver", - "version": "dev-master", + "version": "1.x-dev", "source": { "type": "git", "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "94f3ddc5d77e49daadadd33b798b933e52dde82c" + "reference": "e21c0bd532911ec05ebc258e4086ea61c86e0750" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/94f3ddc5d77e49daadadd33b798b933e52dde82c", - "reference": "94f3ddc5d77e49daadadd33b798b933e52dde82c", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/e21c0bd532911ec05ebc258e4086ea61c86e0750", + "reference": "e21c0bd532911ec05ebc258e4086ea61c86e0750", "shasum": "" }, "require": { - "php": "^7.2", + "php": "^7.2 || ^8.0", "phpdocumentor/reflection-common": "^2.0" }, "require-dev": { - "ext-tokenizer": "^7.2", - "mockery/mockery": "~1" + "ext-tokenizer": "*" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.x-dev" + "dev-1.x": "1.x-dev" } }, "autoload": { @@ -2415,7 +2477,7 @@ } ], "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", - "time": "2020-06-19T19:40:27+00:00" + "time": "2020-09-02T21:29:45+00:00" }, { "name": "phpspec/prophecy", @@ -2685,7 +2747,7 @@ }, { "name": "phpunit/php-token-stream", - "version": "3.1.1", + "version": "3.1.x-dev", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-token-stream.git", @@ -2730,6 +2792,7 @@ "keywords": [ "tokenizer" ], + "abandoned": true, "time": "2019-09-17T06:23:10+00:00" }, { @@ -3587,12 +3650,12 @@ "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "e063bab1a67f4ceea759cee20c10ed609d1f6abb" + "reference": "b48bd18dc6f967ad09af9eab521cdf0e68fb6a95" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/e063bab1a67f4ceea759cee20c10ed609d1f6abb", - "reference": "e063bab1a67f4ceea759cee20c10ed609d1f6abb", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/b48bd18dc6f967ad09af9eab521cdf0e68fb6a95", + "reference": "b48bd18dc6f967ad09af9eab521cdf0e68fb6a95", "shasum": "" }, "require": { @@ -3607,7 +3670,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.13-dev" + "dev-master": "2.14-dev" } }, "autoload": { @@ -3644,7 +3707,17 @@ "keywords": [ "templating" ], - "time": "2020-07-06T13:35:12+00:00" + "funding": [ + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/twig/twig", + "type": "tidelift" + } + ], + "time": "2020-08-23T15:56:05+00:00" }, { "name": "webmozart/assert", diff --git a/docs/sdks/flutter-dev/CHANGELOG.md b/docs/sdks/flutter-dev/CHANGELOG.md index 36f7668043..945f6088ae 100644 --- a/docs/sdks/flutter-dev/CHANGELOG.md +++ b/docs/sdks/flutter-dev/CHANGELOG.md @@ -1,3 +1,8 @@ +## 0.3.0 + +- Updated package dependencies (@lohanidamodar) +- Added Flutter for Web compatibility (@lohanidamodar) + ## 0.2.3 - Fixed OAuth2 cookie bug, where a new session cookie couldn't overwrite an old cookie diff --git a/docs/sdks/flutter/CHANGELOG.md b/docs/sdks/flutter/CHANGELOG.md index 36f7668043..945f6088ae 100644 --- a/docs/sdks/flutter/CHANGELOG.md +++ b/docs/sdks/flutter/CHANGELOG.md @@ -1,3 +1,8 @@ +## 0.3.0 + +- Updated package dependencies (@lohanidamodar) +- Added Flutter for Web compatibility (@lohanidamodar) + ## 0.2.3 - Fixed OAuth2 cookie bug, where a new session cookie couldn't overwrite an old cookie From b70d55735994c98341bf09e8334c05e25863a277 Mon Sep 17 00:00:00 2001 From: Eldad Fux Date: Thu, 3 Sep 2020 13:54:19 +0300 Subject: [PATCH 03/13] Updated flutter dev package name --- app/tasks/sdks.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/tasks/sdks.php b/app/tasks/sdks.php index 7e5f7485fb..932467bd37 100644 --- a/app/tasks/sdks.php +++ b/app/tasks/sdks.php @@ -121,7 +121,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND break; case 'flutter-dev': $config = new Flutter(); - $config->setPackageName('appwrite-dev'); + $config->setPackageName('appwrite_dev'); break; case 'dart': $config = new Dart(); From d82697fa8c0dc32b2d489f95680711ef86e6f4d0 Mon Sep 17 00:00:00 2001 From: Eldad Fux Date: Thu, 3 Sep 2020 13:56:06 +0300 Subject: [PATCH 04/13] Updqted flutter dev package name --- app/sdks/client-flutter-dev/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/sdks/client-flutter-dev/pubspec.yaml b/app/sdks/client-flutter-dev/pubspec.yaml index 5dc7fc8457..d1fbd6f542 100644 --- a/app/sdks/client-flutter-dev/pubspec.yaml +++ b/app/sdks/client-flutter-dev/pubspec.yaml @@ -1,4 +1,4 @@ -name: appwrite-dev +name: appwrite_dev version: 0.3.0 description: Appwrite is an open-source self-hosted backend server that abstract and simplify complex and repetitive development tasks behind a very simple REST API homepage: https://appwrite.io From be3d445cb666f9bc317e4d1ff4234fd229701561 Mon Sep 17 00:00:00 2001 From: Eldad Fux Date: Thu, 3 Sep 2020 14:09:22 +0300 Subject: [PATCH 05/13] Update package name --- app/sdks/client-flutter-dev/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/sdks/client-flutter-dev/README.md b/app/sdks/client-flutter-dev/README.md index 50cfb8336e..90d55f00e9 100644 --- a/app/sdks/client-flutter-dev/README.md +++ b/app/sdks/client-flutter-dev/README.md @@ -20,13 +20,13 @@ Add this to your package's `pubspec.yaml` file: ```yml dependencies: - appwrite: ^0.3.0 + appwrite_dev: ^0.3.0 ``` You can install packages from the command line: ```bash -pub get appwrite +pub get appwrite_dev ``` ## Contribution From 4a6b860e7ed134de8ce4466712a5916b8a803d17 Mon Sep 17 00:00:00 2001 From: Eldad Fux Date: Thu, 3 Sep 2020 16:26:05 +0300 Subject: [PATCH 06/13] Fixed package namespaces --- app/config/platforms.php | 2 +- app/sdks/client-flutter-dev/CHANGELOG.md | 8 ++++++++ app/sdks/client-flutter-dev/README.md | 2 +- .../docs/examples/account/create-o-auth2session.md | 2 +- .../docs/examples/account/create-recovery.md | 2 +- .../docs/examples/account/create-session.md | 2 +- .../docs/examples/account/create-verification.md | 2 +- .../client-flutter-dev/docs/examples/account/create.md | 2 +- .../docs/examples/account/delete-session.md | 2 +- .../docs/examples/account/delete-sessions.md | 2 +- .../client-flutter-dev/docs/examples/account/delete.md | 2 +- .../docs/examples/account/get-logs.md | 2 +- .../docs/examples/account/get-prefs.md | 2 +- .../docs/examples/account/get-sessions.md | 2 +- .../client-flutter-dev/docs/examples/account/get.md | 2 +- .../docs/examples/account/update-email.md | 2 +- .../docs/examples/account/update-name.md | 2 +- .../docs/examples/account/update-password.md | 2 +- .../docs/examples/account/update-prefs.md | 2 +- .../docs/examples/account/update-recovery.md | 2 +- .../docs/examples/account/update-verification.md | 2 +- .../docs/examples/avatars/get-browser.md | 2 +- .../docs/examples/avatars/get-credit-card.md | 2 +- .../docs/examples/avatars/get-favicon.md | 2 +- .../docs/examples/avatars/get-flag.md | 2 +- .../docs/examples/avatars/get-image.md | 2 +- .../docs/examples/avatars/get-q-r.md | 2 +- .../docs/examples/database/create-document.md | 2 +- .../docs/examples/database/delete-document.md | 2 +- .../docs/examples/database/get-document.md | 2 +- .../docs/examples/database/list-documents.md | 2 +- .../docs/examples/database/update-document.md | 2 +- .../docs/examples/locale/get-continents.md | 2 +- .../docs/examples/locale/get-countries-e-u.md | 2 +- .../docs/examples/locale/get-countries-phones.md | 2 +- .../docs/examples/locale/get-countries.md | 2 +- .../docs/examples/locale/get-currencies.md | 2 +- .../client-flutter-dev/docs/examples/locale/get.md | 2 +- .../docs/examples/storage/create-file.md | 2 +- .../docs/examples/storage/delete-file.md | 2 +- .../docs/examples/storage/get-file-download.md | 2 +- .../docs/examples/storage/get-file-preview.md | 2 +- .../docs/examples/storage/get-file-view.md | 2 +- .../docs/examples/storage/get-file.md | 2 +- .../docs/examples/storage/list-files.md | 2 +- .../docs/examples/storage/update-file.md | 2 +- .../docs/examples/teams/create-membership.md | 2 +- .../client-flutter-dev/docs/examples/teams/create.md | 2 +- .../docs/examples/teams/delete-membership.md | 2 +- .../client-flutter-dev/docs/examples/teams/delete.md | 2 +- .../docs/examples/teams/get-memberships.md | 2 +- app/sdks/client-flutter-dev/docs/examples/teams/get.md | 2 +- .../client-flutter-dev/docs/examples/teams/list.md | 2 +- .../docs/examples/teams/update-membership-status.md | 2 +- .../client-flutter-dev/docs/examples/teams/update.md | 2 +- app/sdks/client-flutter-dev/lib/appwrite_dev.dart | 10 ++++++++++ app/sdks/client-flutter-dev/lib/client.dart | 2 +- app/sdks/client-flutter-dev/pubspec.yaml | 4 ++-- composer.lock | 4 ++-- docs/sdks/flutter-dev/CHANGELOG.md | 8 ++++++++ 60 files changed, 85 insertions(+), 59 deletions(-) create mode 100644 app/sdks/client-flutter-dev/lib/appwrite_dev.dart diff --git a/app/config/platforms.php b/app/config/platforms.php index 269b9e754c..aac1180795 100644 --- a/app/config/platforms.php +++ b/app/config/platforms.php @@ -45,7 +45,7 @@ return [ [ 'key' => 'flutter-dev', 'name' => 'Flutter (Dev Channel)', - 'version' => '0.3.0', + 'version' => '0.3.2', 'url' => 'https://github.com/appwrite/sdk-for-flutter-dev', 'enabled' => true, 'beta' => true, diff --git a/app/sdks/client-flutter-dev/CHANGELOG.md b/app/sdks/client-flutter-dev/CHANGELOG.md index df959d1994..2e9b0e0a91 100644 --- a/app/sdks/client-flutter-dev/CHANGELOG.md +++ b/app/sdks/client-flutter-dev/CHANGELOG.md @@ -1,3 +1,11 @@ +## 0.3.2 + +- Fixed package namespaces + +## 0.3.1 + +- Downgraded meta package version to 1.1.8 + ## 0.3.0 - Updated package dependencies (@lohanidamodar) diff --git a/app/sdks/client-flutter-dev/README.md b/app/sdks/client-flutter-dev/README.md index 90d55f00e9..2c0ba754c3 100644 --- a/app/sdks/client-flutter-dev/README.md +++ b/app/sdks/client-flutter-dev/README.md @@ -20,7 +20,7 @@ Add this to your package's `pubspec.yaml` file: ```yml dependencies: - appwrite_dev: ^0.3.0 + appwrite_dev: ^0.3.2 ``` You can install packages from the command line: diff --git a/app/sdks/client-flutter-dev/docs/examples/account/create-o-auth2session.md b/app/sdks/client-flutter-dev/docs/examples/account/create-o-auth2session.md index c617c34d4d..aae9d5f9a0 100644 --- a/app/sdks/client-flutter-dev/docs/examples/account/create-o-auth2session.md +++ b/app/sdks/client-flutter-dev/docs/examples/account/create-o-auth2session.md @@ -1,4 +1,4 @@ -import 'package:appwrite/appwrite.dart'; +import 'package:appwrite_dev/appwrite_dev.dart'; void main() { // Init SDK Client client = Client(); diff --git a/app/sdks/client-flutter-dev/docs/examples/account/create-recovery.md b/app/sdks/client-flutter-dev/docs/examples/account/create-recovery.md index 50db45b15d..32fe469cff 100644 --- a/app/sdks/client-flutter-dev/docs/examples/account/create-recovery.md +++ b/app/sdks/client-flutter-dev/docs/examples/account/create-recovery.md @@ -1,4 +1,4 @@ -import 'package:appwrite/appwrite.dart'; +import 'package:appwrite_dev/appwrite_dev.dart'; void main() { // Init SDK Client client = Client(); diff --git a/app/sdks/client-flutter-dev/docs/examples/account/create-session.md b/app/sdks/client-flutter-dev/docs/examples/account/create-session.md index ef824b4eca..a5930877f4 100644 --- a/app/sdks/client-flutter-dev/docs/examples/account/create-session.md +++ b/app/sdks/client-flutter-dev/docs/examples/account/create-session.md @@ -1,4 +1,4 @@ -import 'package:appwrite/appwrite.dart'; +import 'package:appwrite_dev/appwrite_dev.dart'; void main() { // Init SDK Client client = Client(); diff --git a/app/sdks/client-flutter-dev/docs/examples/account/create-verification.md b/app/sdks/client-flutter-dev/docs/examples/account/create-verification.md index 6b9b1ace40..738f22df42 100644 --- a/app/sdks/client-flutter-dev/docs/examples/account/create-verification.md +++ b/app/sdks/client-flutter-dev/docs/examples/account/create-verification.md @@ -1,4 +1,4 @@ -import 'package:appwrite/appwrite.dart'; +import 'package:appwrite_dev/appwrite_dev.dart'; void main() { // Init SDK Client client = Client(); diff --git a/app/sdks/client-flutter-dev/docs/examples/account/create.md b/app/sdks/client-flutter-dev/docs/examples/account/create.md index 384258ae68..1f92976c39 100644 --- a/app/sdks/client-flutter-dev/docs/examples/account/create.md +++ b/app/sdks/client-flutter-dev/docs/examples/account/create.md @@ -1,4 +1,4 @@ -import 'package:appwrite/appwrite.dart'; +import 'package:appwrite_dev/appwrite_dev.dart'; void main() { // Init SDK Client client = Client(); diff --git a/app/sdks/client-flutter-dev/docs/examples/account/delete-session.md b/app/sdks/client-flutter-dev/docs/examples/account/delete-session.md index 80a3f505d0..95b3641387 100644 --- a/app/sdks/client-flutter-dev/docs/examples/account/delete-session.md +++ b/app/sdks/client-flutter-dev/docs/examples/account/delete-session.md @@ -1,4 +1,4 @@ -import 'package:appwrite/appwrite.dart'; +import 'package:appwrite_dev/appwrite_dev.dart'; void main() { // Init SDK Client client = Client(); diff --git a/app/sdks/client-flutter-dev/docs/examples/account/delete-sessions.md b/app/sdks/client-flutter-dev/docs/examples/account/delete-sessions.md index 5e947fabc2..b9cbb46fd2 100644 --- a/app/sdks/client-flutter-dev/docs/examples/account/delete-sessions.md +++ b/app/sdks/client-flutter-dev/docs/examples/account/delete-sessions.md @@ -1,4 +1,4 @@ -import 'package:appwrite/appwrite.dart'; +import 'package:appwrite_dev/appwrite_dev.dart'; void main() { // Init SDK Client client = Client(); diff --git a/app/sdks/client-flutter-dev/docs/examples/account/delete.md b/app/sdks/client-flutter-dev/docs/examples/account/delete.md index 2853a1f437..8c99b2ac61 100644 --- a/app/sdks/client-flutter-dev/docs/examples/account/delete.md +++ b/app/sdks/client-flutter-dev/docs/examples/account/delete.md @@ -1,4 +1,4 @@ -import 'package:appwrite/appwrite.dart'; +import 'package:appwrite_dev/appwrite_dev.dart'; void main() { // Init SDK Client client = Client(); diff --git a/app/sdks/client-flutter-dev/docs/examples/account/get-logs.md b/app/sdks/client-flutter-dev/docs/examples/account/get-logs.md index 8f52f8220b..2ed66d88ce 100644 --- a/app/sdks/client-flutter-dev/docs/examples/account/get-logs.md +++ b/app/sdks/client-flutter-dev/docs/examples/account/get-logs.md @@ -1,4 +1,4 @@ -import 'package:appwrite/appwrite.dart'; +import 'package:appwrite_dev/appwrite_dev.dart'; void main() { // Init SDK Client client = Client(); diff --git a/app/sdks/client-flutter-dev/docs/examples/account/get-prefs.md b/app/sdks/client-flutter-dev/docs/examples/account/get-prefs.md index 01d57a5499..961a24dc19 100644 --- a/app/sdks/client-flutter-dev/docs/examples/account/get-prefs.md +++ b/app/sdks/client-flutter-dev/docs/examples/account/get-prefs.md @@ -1,4 +1,4 @@ -import 'package:appwrite/appwrite.dart'; +import 'package:appwrite_dev/appwrite_dev.dart'; void main() { // Init SDK Client client = Client(); diff --git a/app/sdks/client-flutter-dev/docs/examples/account/get-sessions.md b/app/sdks/client-flutter-dev/docs/examples/account/get-sessions.md index e921bda59b..76a566b959 100644 --- a/app/sdks/client-flutter-dev/docs/examples/account/get-sessions.md +++ b/app/sdks/client-flutter-dev/docs/examples/account/get-sessions.md @@ -1,4 +1,4 @@ -import 'package:appwrite/appwrite.dart'; +import 'package:appwrite_dev/appwrite_dev.dart'; void main() { // Init SDK Client client = Client(); diff --git a/app/sdks/client-flutter-dev/docs/examples/account/get.md b/app/sdks/client-flutter-dev/docs/examples/account/get.md index 35241b5607..cd05062a69 100644 --- a/app/sdks/client-flutter-dev/docs/examples/account/get.md +++ b/app/sdks/client-flutter-dev/docs/examples/account/get.md @@ -1,4 +1,4 @@ -import 'package:appwrite/appwrite.dart'; +import 'package:appwrite_dev/appwrite_dev.dart'; void main() { // Init SDK Client client = Client(); diff --git a/app/sdks/client-flutter-dev/docs/examples/account/update-email.md b/app/sdks/client-flutter-dev/docs/examples/account/update-email.md index 4a1a002db4..9fc86a7aae 100644 --- a/app/sdks/client-flutter-dev/docs/examples/account/update-email.md +++ b/app/sdks/client-flutter-dev/docs/examples/account/update-email.md @@ -1,4 +1,4 @@ -import 'package:appwrite/appwrite.dart'; +import 'package:appwrite_dev/appwrite_dev.dart'; void main() { // Init SDK Client client = Client(); diff --git a/app/sdks/client-flutter-dev/docs/examples/account/update-name.md b/app/sdks/client-flutter-dev/docs/examples/account/update-name.md index fa432bb34a..e5e218a515 100644 --- a/app/sdks/client-flutter-dev/docs/examples/account/update-name.md +++ b/app/sdks/client-flutter-dev/docs/examples/account/update-name.md @@ -1,4 +1,4 @@ -import 'package:appwrite/appwrite.dart'; +import 'package:appwrite_dev/appwrite_dev.dart'; void main() { // Init SDK Client client = Client(); diff --git a/app/sdks/client-flutter-dev/docs/examples/account/update-password.md b/app/sdks/client-flutter-dev/docs/examples/account/update-password.md index 9bd8ad9b77..869b4d9a30 100644 --- a/app/sdks/client-flutter-dev/docs/examples/account/update-password.md +++ b/app/sdks/client-flutter-dev/docs/examples/account/update-password.md @@ -1,4 +1,4 @@ -import 'package:appwrite/appwrite.dart'; +import 'package:appwrite_dev/appwrite_dev.dart'; void main() { // Init SDK Client client = Client(); diff --git a/app/sdks/client-flutter-dev/docs/examples/account/update-prefs.md b/app/sdks/client-flutter-dev/docs/examples/account/update-prefs.md index 443252f89a..0d50469742 100644 --- a/app/sdks/client-flutter-dev/docs/examples/account/update-prefs.md +++ b/app/sdks/client-flutter-dev/docs/examples/account/update-prefs.md @@ -1,4 +1,4 @@ -import 'package:appwrite/appwrite.dart'; +import 'package:appwrite_dev/appwrite_dev.dart'; void main() { // Init SDK Client client = Client(); diff --git a/app/sdks/client-flutter-dev/docs/examples/account/update-recovery.md b/app/sdks/client-flutter-dev/docs/examples/account/update-recovery.md index 5140235d49..e028e60a7d 100644 --- a/app/sdks/client-flutter-dev/docs/examples/account/update-recovery.md +++ b/app/sdks/client-flutter-dev/docs/examples/account/update-recovery.md @@ -1,4 +1,4 @@ -import 'package:appwrite/appwrite.dart'; +import 'package:appwrite_dev/appwrite_dev.dart'; void main() { // Init SDK Client client = Client(); diff --git a/app/sdks/client-flutter-dev/docs/examples/account/update-verification.md b/app/sdks/client-flutter-dev/docs/examples/account/update-verification.md index b795cde92d..48d669efcc 100644 --- a/app/sdks/client-flutter-dev/docs/examples/account/update-verification.md +++ b/app/sdks/client-flutter-dev/docs/examples/account/update-verification.md @@ -1,4 +1,4 @@ -import 'package:appwrite/appwrite.dart'; +import 'package:appwrite_dev/appwrite_dev.dart'; void main() { // Init SDK Client client = Client(); diff --git a/app/sdks/client-flutter-dev/docs/examples/avatars/get-browser.md b/app/sdks/client-flutter-dev/docs/examples/avatars/get-browser.md index 464767c4c0..dec7863b1f 100644 --- a/app/sdks/client-flutter-dev/docs/examples/avatars/get-browser.md +++ b/app/sdks/client-flutter-dev/docs/examples/avatars/get-browser.md @@ -1,4 +1,4 @@ -import 'package:appwrite/appwrite.dart'; +import 'package:appwrite_dev/appwrite_dev.dart'; void main() { // Init SDK Client client = Client(); diff --git a/app/sdks/client-flutter-dev/docs/examples/avatars/get-credit-card.md b/app/sdks/client-flutter-dev/docs/examples/avatars/get-credit-card.md index 482c642402..e2746c4999 100644 --- a/app/sdks/client-flutter-dev/docs/examples/avatars/get-credit-card.md +++ b/app/sdks/client-flutter-dev/docs/examples/avatars/get-credit-card.md @@ -1,4 +1,4 @@ -import 'package:appwrite/appwrite.dart'; +import 'package:appwrite_dev/appwrite_dev.dart'; void main() { // Init SDK Client client = Client(); diff --git a/app/sdks/client-flutter-dev/docs/examples/avatars/get-favicon.md b/app/sdks/client-flutter-dev/docs/examples/avatars/get-favicon.md index 60397b0af2..1c56335b9f 100644 --- a/app/sdks/client-flutter-dev/docs/examples/avatars/get-favicon.md +++ b/app/sdks/client-flutter-dev/docs/examples/avatars/get-favicon.md @@ -1,4 +1,4 @@ -import 'package:appwrite/appwrite.dart'; +import 'package:appwrite_dev/appwrite_dev.dart'; void main() { // Init SDK Client client = Client(); diff --git a/app/sdks/client-flutter-dev/docs/examples/avatars/get-flag.md b/app/sdks/client-flutter-dev/docs/examples/avatars/get-flag.md index a9f7a711d9..8a91f608ce 100644 --- a/app/sdks/client-flutter-dev/docs/examples/avatars/get-flag.md +++ b/app/sdks/client-flutter-dev/docs/examples/avatars/get-flag.md @@ -1,4 +1,4 @@ -import 'package:appwrite/appwrite.dart'; +import 'package:appwrite_dev/appwrite_dev.dart'; void main() { // Init SDK Client client = Client(); diff --git a/app/sdks/client-flutter-dev/docs/examples/avatars/get-image.md b/app/sdks/client-flutter-dev/docs/examples/avatars/get-image.md index 7cead1cb2f..a2cbea98e3 100644 --- a/app/sdks/client-flutter-dev/docs/examples/avatars/get-image.md +++ b/app/sdks/client-flutter-dev/docs/examples/avatars/get-image.md @@ -1,4 +1,4 @@ -import 'package:appwrite/appwrite.dart'; +import 'package:appwrite_dev/appwrite_dev.dart'; void main() { // Init SDK Client client = Client(); diff --git a/app/sdks/client-flutter-dev/docs/examples/avatars/get-q-r.md b/app/sdks/client-flutter-dev/docs/examples/avatars/get-q-r.md index a5bcfd2c05..2737297082 100644 --- a/app/sdks/client-flutter-dev/docs/examples/avatars/get-q-r.md +++ b/app/sdks/client-flutter-dev/docs/examples/avatars/get-q-r.md @@ -1,4 +1,4 @@ -import 'package:appwrite/appwrite.dart'; +import 'package:appwrite_dev/appwrite_dev.dart'; void main() { // Init SDK Client client = Client(); diff --git a/app/sdks/client-flutter-dev/docs/examples/database/create-document.md b/app/sdks/client-flutter-dev/docs/examples/database/create-document.md index b7d540bc2d..6fc27bdfbb 100644 --- a/app/sdks/client-flutter-dev/docs/examples/database/create-document.md +++ b/app/sdks/client-flutter-dev/docs/examples/database/create-document.md @@ -1,4 +1,4 @@ -import 'package:appwrite/appwrite.dart'; +import 'package:appwrite_dev/appwrite_dev.dart'; void main() { // Init SDK Client client = Client(); diff --git a/app/sdks/client-flutter-dev/docs/examples/database/delete-document.md b/app/sdks/client-flutter-dev/docs/examples/database/delete-document.md index 40c1cbdfe2..74bcd69d9a 100644 --- a/app/sdks/client-flutter-dev/docs/examples/database/delete-document.md +++ b/app/sdks/client-flutter-dev/docs/examples/database/delete-document.md @@ -1,4 +1,4 @@ -import 'package:appwrite/appwrite.dart'; +import 'package:appwrite_dev/appwrite_dev.dart'; void main() { // Init SDK Client client = Client(); diff --git a/app/sdks/client-flutter-dev/docs/examples/database/get-document.md b/app/sdks/client-flutter-dev/docs/examples/database/get-document.md index 0c98142315..639209ed3c 100644 --- a/app/sdks/client-flutter-dev/docs/examples/database/get-document.md +++ b/app/sdks/client-flutter-dev/docs/examples/database/get-document.md @@ -1,4 +1,4 @@ -import 'package:appwrite/appwrite.dart'; +import 'package:appwrite_dev/appwrite_dev.dart'; void main() { // Init SDK Client client = Client(); diff --git a/app/sdks/client-flutter-dev/docs/examples/database/list-documents.md b/app/sdks/client-flutter-dev/docs/examples/database/list-documents.md index 0685e7f1aa..41eac5dd9a 100644 --- a/app/sdks/client-flutter-dev/docs/examples/database/list-documents.md +++ b/app/sdks/client-flutter-dev/docs/examples/database/list-documents.md @@ -1,4 +1,4 @@ -import 'package:appwrite/appwrite.dart'; +import 'package:appwrite_dev/appwrite_dev.dart'; void main() { // Init SDK Client client = Client(); diff --git a/app/sdks/client-flutter-dev/docs/examples/database/update-document.md b/app/sdks/client-flutter-dev/docs/examples/database/update-document.md index 2f37cd767a..0b153b1595 100644 --- a/app/sdks/client-flutter-dev/docs/examples/database/update-document.md +++ b/app/sdks/client-flutter-dev/docs/examples/database/update-document.md @@ -1,4 +1,4 @@ -import 'package:appwrite/appwrite.dart'; +import 'package:appwrite_dev/appwrite_dev.dart'; void main() { // Init SDK Client client = Client(); diff --git a/app/sdks/client-flutter-dev/docs/examples/locale/get-continents.md b/app/sdks/client-flutter-dev/docs/examples/locale/get-continents.md index 2a6a6413ba..2c6bd7389f 100644 --- a/app/sdks/client-flutter-dev/docs/examples/locale/get-continents.md +++ b/app/sdks/client-flutter-dev/docs/examples/locale/get-continents.md @@ -1,4 +1,4 @@ -import 'package:appwrite/appwrite.dart'; +import 'package:appwrite_dev/appwrite_dev.dart'; void main() { // Init SDK Client client = Client(); diff --git a/app/sdks/client-flutter-dev/docs/examples/locale/get-countries-e-u.md b/app/sdks/client-flutter-dev/docs/examples/locale/get-countries-e-u.md index 1934fc6709..443fb2d115 100644 --- a/app/sdks/client-flutter-dev/docs/examples/locale/get-countries-e-u.md +++ b/app/sdks/client-flutter-dev/docs/examples/locale/get-countries-e-u.md @@ -1,4 +1,4 @@ -import 'package:appwrite/appwrite.dart'; +import 'package:appwrite_dev/appwrite_dev.dart'; void main() { // Init SDK Client client = Client(); diff --git a/app/sdks/client-flutter-dev/docs/examples/locale/get-countries-phones.md b/app/sdks/client-flutter-dev/docs/examples/locale/get-countries-phones.md index f6b1f58749..e08e2bca47 100644 --- a/app/sdks/client-flutter-dev/docs/examples/locale/get-countries-phones.md +++ b/app/sdks/client-flutter-dev/docs/examples/locale/get-countries-phones.md @@ -1,4 +1,4 @@ -import 'package:appwrite/appwrite.dart'; +import 'package:appwrite_dev/appwrite_dev.dart'; void main() { // Init SDK Client client = Client(); diff --git a/app/sdks/client-flutter-dev/docs/examples/locale/get-countries.md b/app/sdks/client-flutter-dev/docs/examples/locale/get-countries.md index 104584968f..a64a23c666 100644 --- a/app/sdks/client-flutter-dev/docs/examples/locale/get-countries.md +++ b/app/sdks/client-flutter-dev/docs/examples/locale/get-countries.md @@ -1,4 +1,4 @@ -import 'package:appwrite/appwrite.dart'; +import 'package:appwrite_dev/appwrite_dev.dart'; void main() { // Init SDK Client client = Client(); diff --git a/app/sdks/client-flutter-dev/docs/examples/locale/get-currencies.md b/app/sdks/client-flutter-dev/docs/examples/locale/get-currencies.md index 8dc01fc68e..e086245ffd 100644 --- a/app/sdks/client-flutter-dev/docs/examples/locale/get-currencies.md +++ b/app/sdks/client-flutter-dev/docs/examples/locale/get-currencies.md @@ -1,4 +1,4 @@ -import 'package:appwrite/appwrite.dart'; +import 'package:appwrite_dev/appwrite_dev.dart'; void main() { // Init SDK Client client = Client(); diff --git a/app/sdks/client-flutter-dev/docs/examples/locale/get.md b/app/sdks/client-flutter-dev/docs/examples/locale/get.md index 189fceb7d1..5cb8ae176e 100644 --- a/app/sdks/client-flutter-dev/docs/examples/locale/get.md +++ b/app/sdks/client-flutter-dev/docs/examples/locale/get.md @@ -1,4 +1,4 @@ -import 'package:appwrite/appwrite.dart'; +import 'package:appwrite_dev/appwrite_dev.dart'; void main() { // Init SDK Client client = Client(); diff --git a/app/sdks/client-flutter-dev/docs/examples/storage/create-file.md b/app/sdks/client-flutter-dev/docs/examples/storage/create-file.md index 9f61be12f4..d824bd5831 100644 --- a/app/sdks/client-flutter-dev/docs/examples/storage/create-file.md +++ b/app/sdks/client-flutter-dev/docs/examples/storage/create-file.md @@ -1,5 +1,5 @@ import 'dart:io'; -import 'package:appwrite/appwrite.dart'; +import 'package:appwrite_dev/appwrite_dev.dart'; void main() { // Init SDK Client client = Client(); diff --git a/app/sdks/client-flutter-dev/docs/examples/storage/delete-file.md b/app/sdks/client-flutter-dev/docs/examples/storage/delete-file.md index 271ed7b2dd..88e7b8815c 100644 --- a/app/sdks/client-flutter-dev/docs/examples/storage/delete-file.md +++ b/app/sdks/client-flutter-dev/docs/examples/storage/delete-file.md @@ -1,4 +1,4 @@ -import 'package:appwrite/appwrite.dart'; +import 'package:appwrite_dev/appwrite_dev.dart'; void main() { // Init SDK Client client = Client(); diff --git a/app/sdks/client-flutter-dev/docs/examples/storage/get-file-download.md b/app/sdks/client-flutter-dev/docs/examples/storage/get-file-download.md index be3385a61b..483340e24a 100644 --- a/app/sdks/client-flutter-dev/docs/examples/storage/get-file-download.md +++ b/app/sdks/client-flutter-dev/docs/examples/storage/get-file-download.md @@ -1,4 +1,4 @@ -import 'package:appwrite/appwrite.dart'; +import 'package:appwrite_dev/appwrite_dev.dart'; void main() { // Init SDK Client client = Client(); diff --git a/app/sdks/client-flutter-dev/docs/examples/storage/get-file-preview.md b/app/sdks/client-flutter-dev/docs/examples/storage/get-file-preview.md index 8bd1a47457..dd8d924fe7 100644 --- a/app/sdks/client-flutter-dev/docs/examples/storage/get-file-preview.md +++ b/app/sdks/client-flutter-dev/docs/examples/storage/get-file-preview.md @@ -1,4 +1,4 @@ -import 'package:appwrite/appwrite.dart'; +import 'package:appwrite_dev/appwrite_dev.dart'; void main() { // Init SDK Client client = Client(); diff --git a/app/sdks/client-flutter-dev/docs/examples/storage/get-file-view.md b/app/sdks/client-flutter-dev/docs/examples/storage/get-file-view.md index 5803fd409f..8ed6a946e0 100644 --- a/app/sdks/client-flutter-dev/docs/examples/storage/get-file-view.md +++ b/app/sdks/client-flutter-dev/docs/examples/storage/get-file-view.md @@ -1,4 +1,4 @@ -import 'package:appwrite/appwrite.dart'; +import 'package:appwrite_dev/appwrite_dev.dart'; void main() { // Init SDK Client client = Client(); diff --git a/app/sdks/client-flutter-dev/docs/examples/storage/get-file.md b/app/sdks/client-flutter-dev/docs/examples/storage/get-file.md index feca667fa9..4e398f88fd 100644 --- a/app/sdks/client-flutter-dev/docs/examples/storage/get-file.md +++ b/app/sdks/client-flutter-dev/docs/examples/storage/get-file.md @@ -1,4 +1,4 @@ -import 'package:appwrite/appwrite.dart'; +import 'package:appwrite_dev/appwrite_dev.dart'; void main() { // Init SDK Client client = Client(); diff --git a/app/sdks/client-flutter-dev/docs/examples/storage/list-files.md b/app/sdks/client-flutter-dev/docs/examples/storage/list-files.md index 1963ec694d..d72ba29e03 100644 --- a/app/sdks/client-flutter-dev/docs/examples/storage/list-files.md +++ b/app/sdks/client-flutter-dev/docs/examples/storage/list-files.md @@ -1,4 +1,4 @@ -import 'package:appwrite/appwrite.dart'; +import 'package:appwrite_dev/appwrite_dev.dart'; void main() { // Init SDK Client client = Client(); diff --git a/app/sdks/client-flutter-dev/docs/examples/storage/update-file.md b/app/sdks/client-flutter-dev/docs/examples/storage/update-file.md index a5ecbfe987..95e213ddc2 100644 --- a/app/sdks/client-flutter-dev/docs/examples/storage/update-file.md +++ b/app/sdks/client-flutter-dev/docs/examples/storage/update-file.md @@ -1,4 +1,4 @@ -import 'package:appwrite/appwrite.dart'; +import 'package:appwrite_dev/appwrite_dev.dart'; void main() { // Init SDK Client client = Client(); diff --git a/app/sdks/client-flutter-dev/docs/examples/teams/create-membership.md b/app/sdks/client-flutter-dev/docs/examples/teams/create-membership.md index e5e82de7b4..31bf7ec1af 100644 --- a/app/sdks/client-flutter-dev/docs/examples/teams/create-membership.md +++ b/app/sdks/client-flutter-dev/docs/examples/teams/create-membership.md @@ -1,4 +1,4 @@ -import 'package:appwrite/appwrite.dart'; +import 'package:appwrite_dev/appwrite_dev.dart'; void main() { // Init SDK Client client = Client(); diff --git a/app/sdks/client-flutter-dev/docs/examples/teams/create.md b/app/sdks/client-flutter-dev/docs/examples/teams/create.md index d11958ae6d..e50279de01 100644 --- a/app/sdks/client-flutter-dev/docs/examples/teams/create.md +++ b/app/sdks/client-flutter-dev/docs/examples/teams/create.md @@ -1,4 +1,4 @@ -import 'package:appwrite/appwrite.dart'; +import 'package:appwrite_dev/appwrite_dev.dart'; void main() { // Init SDK Client client = Client(); diff --git a/app/sdks/client-flutter-dev/docs/examples/teams/delete-membership.md b/app/sdks/client-flutter-dev/docs/examples/teams/delete-membership.md index 3f57b840fe..015507d3a2 100644 --- a/app/sdks/client-flutter-dev/docs/examples/teams/delete-membership.md +++ b/app/sdks/client-flutter-dev/docs/examples/teams/delete-membership.md @@ -1,4 +1,4 @@ -import 'package:appwrite/appwrite.dart'; +import 'package:appwrite_dev/appwrite_dev.dart'; void main() { // Init SDK Client client = Client(); diff --git a/app/sdks/client-flutter-dev/docs/examples/teams/delete.md b/app/sdks/client-flutter-dev/docs/examples/teams/delete.md index 9fb488afec..6cc1367f9b 100644 --- a/app/sdks/client-flutter-dev/docs/examples/teams/delete.md +++ b/app/sdks/client-flutter-dev/docs/examples/teams/delete.md @@ -1,4 +1,4 @@ -import 'package:appwrite/appwrite.dart'; +import 'package:appwrite_dev/appwrite_dev.dart'; void main() { // Init SDK Client client = Client(); diff --git a/app/sdks/client-flutter-dev/docs/examples/teams/get-memberships.md b/app/sdks/client-flutter-dev/docs/examples/teams/get-memberships.md index 4edadfa2b4..d427c9ac47 100644 --- a/app/sdks/client-flutter-dev/docs/examples/teams/get-memberships.md +++ b/app/sdks/client-flutter-dev/docs/examples/teams/get-memberships.md @@ -1,4 +1,4 @@ -import 'package:appwrite/appwrite.dart'; +import 'package:appwrite_dev/appwrite_dev.dart'; void main() { // Init SDK Client client = Client(); diff --git a/app/sdks/client-flutter-dev/docs/examples/teams/get.md b/app/sdks/client-flutter-dev/docs/examples/teams/get.md index 083565f7a6..1bca70a23f 100644 --- a/app/sdks/client-flutter-dev/docs/examples/teams/get.md +++ b/app/sdks/client-flutter-dev/docs/examples/teams/get.md @@ -1,4 +1,4 @@ -import 'package:appwrite/appwrite.dart'; +import 'package:appwrite_dev/appwrite_dev.dart'; void main() { // Init SDK Client client = Client(); diff --git a/app/sdks/client-flutter-dev/docs/examples/teams/list.md b/app/sdks/client-flutter-dev/docs/examples/teams/list.md index 665020e928..c56e7a5dd5 100644 --- a/app/sdks/client-flutter-dev/docs/examples/teams/list.md +++ b/app/sdks/client-flutter-dev/docs/examples/teams/list.md @@ -1,4 +1,4 @@ -import 'package:appwrite/appwrite.dart'; +import 'package:appwrite_dev/appwrite_dev.dart'; void main() { // Init SDK Client client = Client(); diff --git a/app/sdks/client-flutter-dev/docs/examples/teams/update-membership-status.md b/app/sdks/client-flutter-dev/docs/examples/teams/update-membership-status.md index 616f64e148..6098b38ed9 100644 --- a/app/sdks/client-flutter-dev/docs/examples/teams/update-membership-status.md +++ b/app/sdks/client-flutter-dev/docs/examples/teams/update-membership-status.md @@ -1,4 +1,4 @@ -import 'package:appwrite/appwrite.dart'; +import 'package:appwrite_dev/appwrite_dev.dart'; void main() { // Init SDK Client client = Client(); diff --git a/app/sdks/client-flutter-dev/docs/examples/teams/update.md b/app/sdks/client-flutter-dev/docs/examples/teams/update.md index 915fb57d38..2494f408d9 100644 --- a/app/sdks/client-flutter-dev/docs/examples/teams/update.md +++ b/app/sdks/client-flutter-dev/docs/examples/teams/update.md @@ -1,4 +1,4 @@ -import 'package:appwrite/appwrite.dart'; +import 'package:appwrite_dev/appwrite_dev.dart'; void main() { // Init SDK Client client = Client(); diff --git a/app/sdks/client-flutter-dev/lib/appwrite_dev.dart b/app/sdks/client-flutter-dev/lib/appwrite_dev.dart new file mode 100644 index 0000000000..95d0b72cfe --- /dev/null +++ b/app/sdks/client-flutter-dev/lib/appwrite_dev.dart @@ -0,0 +1,10 @@ +export 'package:dio/dio.dart' show Response; + +export 'client.dart'; +export 'enums.dart'; +export 'services/account.dart'; +export 'services/avatars.dart'; +export 'services/database.dart'; +export 'services/locale.dart'; +export 'services/storage.dart'; +export 'services/teams.dart'; diff --git a/app/sdks/client-flutter-dev/lib/client.dart b/app/sdks/client-flutter-dev/lib/client.dart index 29d9884cfe..a5583fcd00 100644 --- a/app/sdks/client-flutter-dev/lib/client.dart +++ b/app/sdks/client-flutter-dev/lib/client.dart @@ -35,7 +35,7 @@ class Client { this.headers = { 'content-type': 'application/json', - 'x-sdk-version': 'appwrite:flutter:0.3.0', + 'x-sdk-version': 'appwrite:flutter:0.3.2', }; this.config = {}; diff --git a/app/sdks/client-flutter-dev/pubspec.yaml b/app/sdks/client-flutter-dev/pubspec.yaml index d1fbd6f542..7d3646b8ee 100644 --- a/app/sdks/client-flutter-dev/pubspec.yaml +++ b/app/sdks/client-flutter-dev/pubspec.yaml @@ -1,5 +1,5 @@ name: appwrite_dev -version: 0.3.0 +version: 0.3.2 description: Appwrite is an open-source self-hosted backend server that abstract and simplify complex and repetitive development tasks behind a very simple REST API homepage: https://appwrite.io repository: https://github.com/appwrite/sdk-for-flutter-dev @@ -8,7 +8,7 @@ documentation: https://appwrite.io/support environment: sdk: '>=2.6.0 <3.0.0' dependencies: - meta: ^1.2.2 + meta: ^1.1.8 path_provider: ^1.6.14 package_info: ^0.4.3 dio: ^3.0.10 diff --git a/composer.lock b/composer.lock index edadc2bd5e..18a431a412 100644 --- a/composer.lock +++ b/composer.lock @@ -1966,7 +1966,7 @@ "source": { "type": "git", "url": "https://github.com/appwrite/sdk-generator", - "reference": "0dea55e58e3ec59dd3557a4144fcbb390691e03a" + "reference": "dddbc208ff429298f5c1b2b95fc507aa639c8def" }, "require": { "ext-curl": "*", @@ -1996,7 +1996,7 @@ } ], "description": "Appwrite PHP library for generating API SDKs for multiple programming languages and platforms", - "time": "2020-09-03T10:16:09+00:00" + "time": "2020-09-03T13:22:30+00:00" }, { "name": "doctrine/instantiator", diff --git a/docs/sdks/flutter-dev/CHANGELOG.md b/docs/sdks/flutter-dev/CHANGELOG.md index 945f6088ae..ff6f7fa1a7 100644 --- a/docs/sdks/flutter-dev/CHANGELOG.md +++ b/docs/sdks/flutter-dev/CHANGELOG.md @@ -1,3 +1,11 @@ +## 0.3.2 + +- Fixed package namespaces + +## 0.3.1 + +- Downgraded meta package version to 1.1.8 + ## 0.3.0 - Updated package dependencies (@lohanidamodar) From ee9c5c92a70092c155cdf4cb906d6cb9fc715a51 Mon Sep 17 00:00:00 2001 From: Eldad Fux Date: Thu, 3 Sep 2020 20:31:31 +0300 Subject: [PATCH 07/13] Updated Flutter SDK --- app/config/platforms.php | 2 +- app/sdks/client-flutter/CHANGELOG.md | 5 +++ app/sdks/client-flutter/README.md | 2 +- app/sdks/client-flutter/lib/client.dart | 44 ++++++++++++------- .../client-flutter/lib/services/avatars.dart | 24 ++++++++++ .../client-flutter/lib/services/storage.dart | 12 +++++ app/sdks/client-flutter/pubspec.yaml | 27 +++--------- docs/sdks/flutter/CHANGELOG.md | 2 +- 8 files changed, 78 insertions(+), 40 deletions(-) diff --git a/app/config/platforms.php b/app/config/platforms.php index aac1180795..c3d09fac13 100644 --- a/app/config/platforms.php +++ b/app/config/platforms.php @@ -30,7 +30,7 @@ return [ [ 'key' => 'flutter', 'name' => 'Flutter', - 'version' => '0.2.3', + 'version' => '0.3.0-dev.1', 'url' => 'https://github.com/appwrite/sdk-for-flutter', 'enabled' => true, 'beta' => true, diff --git a/app/sdks/client-flutter/CHANGELOG.md b/app/sdks/client-flutter/CHANGELOG.md index c9013a17eb..638d0882d2 100644 --- a/app/sdks/client-flutter/CHANGELOG.md +++ b/app/sdks/client-flutter/CHANGELOG.md @@ -1,3 +1,8 @@ +## 0.3.0-dev.1 + +- Updated package dependencies (@lohanidamodar) +- Added Flutter for Web compatibility (@lohanidamodar) + ## 0.2.3 - Fixed OAuth2 cookie bug, where a new session cookie couldn't overwrite an old cookie diff --git a/app/sdks/client-flutter/README.md b/app/sdks/client-flutter/README.md index 877cf5d30f..95cdeae642 100644 --- a/app/sdks/client-flutter/README.md +++ b/app/sdks/client-flutter/README.md @@ -20,7 +20,7 @@ Add this to your package's `pubspec.yaml` file: ```yml dependencies: - appwrite: ^0.2.3 + appwrite: ^0.3.0-dev.1 ``` You can install packages from the command line: diff --git a/app/sdks/client-flutter/lib/client.dart b/app/sdks/client-flutter/lib/client.dart index 7a53d0414b..1cf3ac8f0d 100644 --- a/app/sdks/client-flutter/lib/client.dart +++ b/app/sdks/client-flutter/lib/client.dart @@ -1,6 +1,7 @@ import 'dart:io'; import 'package:dio/dio.dart'; +import 'package:flutter/foundation.dart'; import 'package:dio/adapter.dart'; import 'package:dio_cookie_manager/dio_cookie_manager.dart'; import 'package:cookie_jar/cookie_jar.dart'; @@ -20,17 +21,21 @@ class Client { PersistCookieJar cookieJar; Client({this.endPoint = 'https://appwrite.io/v1', this.selfSigned = false, Dio http}) : this.http = http ?? Dio() { - - type = (Platform.isIOS) ? 'ios' : type; - type = (Platform.isMacOS) ? 'macos' : type; - type = (Platform.isAndroid) ? 'android' : type; - type = (Platform.isLinux) ? 'linux' : type; - type = (Platform.isWindows) ? 'windows' : type; - type = (Platform.isFuchsia) ? 'fuchsia' : type; + // Platform is not supported in web so if web, set type to web automatically and skip Platform check + if(kIsWeb) { + type = 'web'; + }else{ + type = (Platform.isIOS) ? 'ios' : type; + type = (Platform.isMacOS) ? 'macos' : type; + type = (Platform.isAndroid) ? 'android' : type; + type = (Platform.isLinux) ? 'linux' : type; + type = (Platform.isWindows) ? 'windows' : type; + type = (Platform.isFuchsia) ? 'fuchsia' : type; + } this.headers = { 'content-type': 'application/json', - 'x-sdk-version': 'appwrite:dart:0.2.3', + 'x-sdk-version': 'appwrite:flutter:0.3.0-dev.1', }; this.config = {}; @@ -78,17 +83,20 @@ class Client { Future init() async { if(!initialized) { - final Directory cookieDir = await _getCookiePath(); - - cookieJar = new PersistCookieJar(dir:cookieDir.path); + // if web skip cookie implementation and origin header as those are automatically handled by browsers + if(!kIsWeb) { + final Directory cookieDir = await _getCookiePath(); + cookieJar = new PersistCookieJar(dir:cookieDir.path); + this.http.interceptors.add(CookieManager(cookieJar)); + PackageInfo packageInfo = await PackageInfo.fromPlatform(); + addHeader('Origin', 'appwrite-' + type + '://' + packageInfo.packageName); + }else{ + // if web set httpClientAdapter as BrowserHttpClientAdapter with withCredentials true to make cookies work + this.http.options.extra['withCredentials'] = true; + } this.http.options.baseUrl = this.endPoint; this.http.options.validateStatus = (status) => status < 400; - this.http.interceptors.add(CookieManager(cookieJar)); - - PackageInfo packageInfo = await PackageInfo.fromPlatform(); - - addHeader('Origin', 'appwrite-' + type + '://' + packageInfo.packageName); } } @@ -114,6 +122,10 @@ class Client { } if (method == HttpMethod.get) { + params.keys.forEach((key) {if (params[key] is int || params[key] is double) { + params[key] = params[key].toString(); + }}); + return http.get(path, queryParameters: params, options: options); } else { return http.request(path, data: params, options: options); diff --git a/app/sdks/client-flutter/lib/services/avatars.dart b/app/sdks/client-flutter/lib/services/avatars.dart index fc9c403d90..828ea7dfb0 100644 --- a/app/sdks/client-flutter/lib/services/avatars.dart +++ b/app/sdks/client-flutter/lib/services/avatars.dart @@ -27,6 +27,10 @@ class Avatars extends Service { 'project': client.config['project'], }; + params.keys.forEach((key) {if (params[key] is int || params[key] is double) { + params[key] = params[key].toString(); + }}); + Uri endpoint = Uri.parse(client.endPoint); Uri location = new Uri(scheme: endpoint.scheme, host: endpoint.host, @@ -55,6 +59,10 @@ class Avatars extends Service { 'project': client.config['project'], }; + params.keys.forEach((key) {if (params[key] is int || params[key] is double) { + params[key] = params[key].toString(); + }}); + Uri endpoint = Uri.parse(client.endPoint); Uri location = new Uri(scheme: endpoint.scheme, host: endpoint.host, @@ -79,6 +87,10 @@ class Avatars extends Service { 'project': client.config['project'], }; + params.keys.forEach((key) {if (params[key] is int || params[key] is double) { + params[key] = params[key].toString(); + }}); + Uri endpoint = Uri.parse(client.endPoint); Uri location = new Uri(scheme: endpoint.scheme, host: endpoint.host, @@ -106,6 +118,10 @@ class Avatars extends Service { 'project': client.config['project'], }; + params.keys.forEach((key) {if (params[key] is int || params[key] is double) { + params[key] = params[key].toString(); + }}); + Uri endpoint = Uri.parse(client.endPoint); Uri location = new Uri(scheme: endpoint.scheme, host: endpoint.host, @@ -134,6 +150,10 @@ class Avatars extends Service { 'project': client.config['project'], }; + params.keys.forEach((key) {if (params[key] is int || params[key] is double) { + params[key] = params[key].toString(); + }}); + Uri endpoint = Uri.parse(client.endPoint); Uri location = new Uri(scheme: endpoint.scheme, host: endpoint.host, @@ -161,6 +181,10 @@ class Avatars extends Service { 'project': client.config['project'], }; + params.keys.forEach((key) {if (params[key] is int || params[key] is double) { + params[key] = params[key].toString(); + }}); + Uri endpoint = Uri.parse(client.endPoint); Uri location = new Uri(scheme: endpoint.scheme, host: endpoint.host, diff --git a/app/sdks/client-flutter/lib/services/storage.dart b/app/sdks/client-flutter/lib/services/storage.dart index 696c15ee3a..51f9345050 100644 --- a/app/sdks/client-flutter/lib/services/storage.dart +++ b/app/sdks/client-flutter/lib/services/storage.dart @@ -124,6 +124,10 @@ class Storage extends Service { 'project': client.config['project'], }; + params.keys.forEach((key) {if (params[key] is int || params[key] is double) { + params[key] = params[key].toString(); + }}); + Uri endpoint = Uri.parse(client.endPoint); Uri location = new Uri(scheme: endpoint.scheme, host: endpoint.host, @@ -154,6 +158,10 @@ class Storage extends Service { 'project': client.config['project'], }; + params.keys.forEach((key) {if (params[key] is int || params[key] is double) { + params[key] = params[key].toString(); + }}); + Uri endpoint = Uri.parse(client.endPoint); Uri location = new Uri(scheme: endpoint.scheme, host: endpoint.host, @@ -178,6 +186,10 @@ class Storage extends Service { 'project': client.config['project'], }; + params.keys.forEach((key) {if (params[key] is int || params[key] is double) { + params[key] = params[key].toString(); + }}); + Uri endpoint = Uri.parse(client.endPoint); Uri location = new Uri(scheme: endpoint.scheme, host: endpoint.host, diff --git a/app/sdks/client-flutter/pubspec.yaml b/app/sdks/client-flutter/pubspec.yaml index 91a884cd2d..2d0c2fe412 100644 --- a/app/sdks/client-flutter/pubspec.yaml +++ b/app/sdks/client-flutter/pubspec.yaml @@ -1,5 +1,5 @@ name: appwrite -version: 0.2.3 +version: 0.3.0-dev.1 description: Appwrite is an open-source self-hosted backend server that abstract and simplify complex and repetitive development tasks behind a very simple REST API homepage: https://appwrite.io repository: https://github.com/appwrite/sdk-for-flutter @@ -9,30 +9,15 @@ environment: sdk: '>=2.6.0 <3.0.0' dependencies: meta: ^1.1.8 - path_provider: ^1.6.5 - package_info: ^0.4.0+16 - dio: ^3.0.0 - cookie_jar: ^1.0.0 + path_provider: ^1.6.14 + package_info: ^0.4.3 + dio: ^3.0.10 + cookie_jar: ^1.0.1 dio_cookie_manager: ^1.0.0 flutter_web_auth: ^0.2.4 flutter: sdk: flutter - # The following adds the Cupertino Icons font to your application. - # Use with the CupertinoIcons class for iOS style icons. - cupertino_icons: ^0.1.2 - dev_dependencies: flutter_test: - sdk: flutter - -# For information on the generic Dart part of this file, see the -# following page: https://dart.dev/tools/pub/pubspec - -# The following section is specific to Flutter. -flutter: - - # The following line ensures that the Material Icons font is - # included with your application, so that you can use the icons in - # the material Icons class. - uses-material-design: true \ No newline at end of file + sdk: flutter \ No newline at end of file diff --git a/docs/sdks/flutter/CHANGELOG.md b/docs/sdks/flutter/CHANGELOG.md index 945f6088ae..c252451f3f 100644 --- a/docs/sdks/flutter/CHANGELOG.md +++ b/docs/sdks/flutter/CHANGELOG.md @@ -1,4 +1,4 @@ -## 0.3.0 +## 0.3.0-dev.1 - Updated package dependencies (@lohanidamodar) - Added Flutter for Web compatibility (@lohanidamodar) From ba729a8a34578505225d3dbd357a0a2152154edc Mon Sep 17 00:00:00 2001 From: "Eldad A. Fux" Date: Sat, 5 Sep 2020 17:24:14 +0300 Subject: [PATCH 08/13] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9e54fcfb5c..956c95a03c 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@

-[![Hacktoberfest](https://badgen.net/badge/hacktoberfest/friendly/pink)](#contributing) +[![Hacktoberfest](https://badgen.net/badge/hacktoberfest/friendly/pink)](CONTRIBUTING.md) [![Discord](https://img.shields.io/discord/564160730845151244?label=discord)](https://discord.gg/GSeTUeA) [![Docker Pulls](https://badgen.net/docker/pulls/appwrite/appwrite)](https://travis-ci.org/appwrite/appwrite) [![Travis CI](https://badgen.net/travis/appwrite/appwrite?label=build)](https://travis-ci.org/appwrite/appwrite) From ddd239d26ba0da9096e3ba6e2f6e2f1f0ee21e86 Mon Sep 17 00:00:00 2001 From: "Eldad A. Fux" Date: Sat, 5 Sep 2020 20:52:34 +0300 Subject: [PATCH 09/13] Update CONTRIBUTING.md --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f918b450b6..e20c10f03c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -84,7 +84,7 @@ We use prettier for our JS coding standards and for auto-formatting our code. Appwrite is built to scale. Please keep in mind that the Appwrite stack can run in different environments and different scales. -We wish Appwrite will be as easy to set up and in a single, localhost, and easy to grow to a large environment with thousands and even hundreds of instances. +We wish Appwrite will be as easy to set up and in a single, localhost, and easy to grow to a large environment with dozens and even hundreds of instances. When contributing code, please take into account the following considerations: From 77667be404e1f16e00c2994961dd9ccea777f741 Mon Sep 17 00:00:00 2001 From: Eldad Fux Date: Tue, 8 Sep 2020 00:28:40 +0300 Subject: [PATCH 10/13] Changes all name attributes length to max of 128 chars --- CHANGES.md | 8 ++++++++ app/controllers/api/account.php | 4 ++-- app/controllers/api/avatars.php | 2 +- app/controllers/api/database.php | 4 ++-- app/controllers/api/functions.php | 4 ++-- app/controllers/api/projects.php | 22 ++++++++++----------- app/controllers/api/teams.php | 6 +++--- app/controllers/api/users.php | 2 +- app/views/console/account/index.phtml | 2 +- app/views/console/comps/header.phtml | 2 +- app/views/console/database/collection.phtml | 2 +- app/views/console/database/index.phtml | 2 +- app/views/console/functions/function.phtml | 2 +- app/views/console/functions/index.phtml | 2 +- app/views/console/home/index.phtml | 12 +++++------ app/views/console/keys/index.phtml | 4 ++-- app/views/console/settings/index.phtml | 4 ++-- app/views/console/tasks/index.phtml | 4 ++-- app/views/console/users/index.phtml | 4 ++-- app/views/console/users/team.phtml | 4 ++-- app/views/console/webhooks/index.phtml | 4 ++-- app/views/home/auth/signup.phtml | 2 +- 22 files changed, 55 insertions(+), 47 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 3b3c93ea41..6ae5135ef7 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -22,6 +22,14 @@ - Added pagination for projects list on the console home page. - Updated storage calculation to match IEC standards - Now using Alpine as base Docker image +- User name max length is now 128 chars and not 100 for better API consistency +- Team name max length is now 128 chars and not 100 for better API consistency +- Collection name max length is now 128 chars and not 256 for better API consistency +- Project name max length is now 128 chars and not 100 for better API consistency +- Webhook name max length is now 128 chars and not 256 for better API consistency +- API Key name max length is now 128 chars and not 256 for better API consistency +- Task name max length is now 128 chars and not 256 for better API consistency +- Platform name max length is now 128 chars and not 256 for better API consistency - New and consistent response format for all API object + new response examples in the docs - Removed user roles attribute from user object (can be fetched from /v1/teams/memberships) ** - Removed type attribute from session object response (used only internally) diff --git a/app/controllers/api/account.php b/app/controllers/api/account.php index 48ad948263..455d0420e7 100644 --- a/app/controllers/api/account.php +++ b/app/controllers/api/account.php @@ -53,7 +53,7 @@ App::post('/v1/account') ->label('abuse-limit', 10) ->param('email', '', function () { return new Email(); }, 'User email.') ->param('password', '', function () { return new Password(); }, 'User password. Must be between 6 to 32 chars.') - ->param('name', '', function () { return new Text(100); }, 'User name.', true) + ->param('name', '', function () { return new Text(128); }, 'User name. Max length: 128 chars.', true) ->action(function ($email, $password, $name, $request, $response, $project, $projectDB, $webhooks, $audits) use ($oauth2Keys) { /** @var Utopia\Request $request */ /** @var Utopia\Response $response */ @@ -738,7 +738,7 @@ App::patch('/v1/account/name') ->label('sdk.namespace', 'account') ->label('sdk.method', 'updateName') ->label('sdk.description', '/docs/references/account/update-name.md') - ->param('name', '', function () { return new Text(100); }, 'User name.') + ->param('name', '', function () { return new Text(128); }, 'User name. Max length: 128 chars.') ->action(function ($name, $response, $user, $projectDB, $audits) use ($oauth2Keys) { /** @var Utopia\Response $response */ /** @var Appwrite\Database\Document $user */ diff --git a/app/controllers/api/avatars.php b/app/controllers/api/avatars.php index fb8055870c..bf765f520c 100644 --- a/app/controllers/api/avatars.php +++ b/app/controllers/api/avatars.php @@ -393,7 +393,7 @@ App::get('/v1/avatars/initials') ->label('sdk.method', 'getInitials') ->label('sdk.methodType', 'location') ->label('sdk.description', '/docs/references/avatars/get-initials.md') - ->param('name', '', function () { return new Text(512); }, 'Full Name. When empty, current user name or email will be used.', true) + ->param('name', '', function () { return new Text(128); }, 'Full Name. When empty, current user name or email will be used. Max length: 128 chars.', true) ->param('width', 500, function () { return new Range(0, 2000); }, 'Image width. Pass an integer between 0 to 2000. Defaults to 100.', true) ->param('height', 500, function () { return new Range(0, 2000); }, 'Image height. Pass an integer between 0 to 2000. Defaults to 100.', true) ->param('color', '', function () { return new HexColor(); }, 'Changes text color. By default a random color will be picked and stay will persistent to the given name.', true) diff --git a/app/controllers/api/database.php b/app/controllers/api/database.php index b455106bda..2b0631c329 100644 --- a/app/controllers/api/database.php +++ b/app/controllers/api/database.php @@ -30,7 +30,7 @@ App::post('/v1/database/collections') ->label('sdk.platform', [APP_PLATFORM_SERVER]) ->label('sdk.method', 'createCollection') ->label('sdk.description', '/docs/references/database/create-collection.md') - ->param('name', '', function () { return new Text(256); }, 'Collection name.') + ->param('name', '', function () { return new Text(128); }, 'Collection name. Max length: 128 chars.') ->param('read', [], function () { return new ArrayList(new Text(64)); }, 'An array of strings with read permissions. By default no user is granted with any read permissions. [learn more about permissions](/docs/permissions) and get a full list of available permissions.') ->param('write', [], function () { return new ArrayList(new Text(64)); }, 'An array of strings with write permissions. By default no user is granted with any write permissions. [learn more about permissions](/docs/permissions) and get a full list of available permissions.') ->param('rules', [], function ($projectDB) { return new ArrayList(new Collection($projectDB, [Database::SYSTEM_COLLECTION_RULES], ['$collection' => Database::SYSTEM_COLLECTION_RULES, '$permissions' => ['read' => [], 'write' => []]])); }, 'Array of [rule objects](/docs/rules). Each rule define a collection field name, data type and validation.', false, ['projectDB']) @@ -226,7 +226,7 @@ App::put('/v1/database/collections/:collectionId') ->label('sdk.method', 'updateCollection') ->label('sdk.description', '/docs/references/database/update-collection.md') ->param('collectionId', '', function () { return new UID(); }, 'Collection unique ID.') - ->param('name', null, function () { return new Text(256); }, 'Collection name.') + ->param('name', null, function () { return new Text(128); }, 'Collection name. Max length: 128 chars.') ->param('read', [], function () { return new ArrayList(new Text(64)); }, 'An array of strings with read permissions. By default no user is granted with any read permissions. [learn more about permissions(/docs/permissions) and get a full list of available permissions.') ->param('write', [], function () { return new ArrayList(new Text(64)); }, 'An array of strings with write permissions. By default no user is granted with any write permissions. [learn more about permissions](/docs/permissions) and get a full list of available permissions.') ->param('rules', [], function ($projectDB) { return new ArrayList(new Collection($projectDB, [Database::SYSTEM_COLLECTION_RULES], ['$collection' => Database::SYSTEM_COLLECTION_RULES, '$permissions' => ['read' => [], 'write' => []]])); }, 'Array of [rule objects](/docs/rules). Each rule define a collection field name, data type and validation.', true, ['projectDB']) diff --git a/app/controllers/api/functions.php b/app/controllers/api/functions.php index 6118fa6dcc..f960a66d20 100644 --- a/app/controllers/api/functions.php +++ b/app/controllers/api/functions.php @@ -28,7 +28,7 @@ App::post('/v1/functions') ->label('sdk.namespace', 'functions') ->label('sdk.method', 'create') ->label('sdk.description', '/docs/references/functions/create-function.md') - ->param('name', '', function () { return new Text(128); }, 'Function name.') + ->param('name', '', function () { return new Text(128); }, 'Function name. Max length: 128 chars.') ->param('env', '', function () { return new WhiteList(array_keys(Config::getParam('environments'))); }, 'Execution enviornment.') ->param('vars', [], function () { return new Assoc();}, 'Key-value JSON object.', true) ->param('events', [], function () { return new ArrayList(new WhiteList(array_keys(Config::getParam('events')), true)); }, 'Events list.', true) @@ -121,7 +121,7 @@ App::put('/v1/functions/:functionId') ->label('sdk.method', 'update') ->label('sdk.description', '/docs/references/functions/update-function.md') ->param('functionId', '', function () { return new UID(); }, 'Function unique ID.') - ->param('name', '', function () { return new Text(128); }, 'Function name.') + ->param('name', '', function () { return new Text(128); }, 'Function name. Max length: 128 chars.') ->param('vars', [], function () { return new Assoc();}, 'Key-value JSON object.', true) ->param('events', [], function () { return new ArrayList(new WhiteList(array_keys(Config::getParam('events')), true)); }, 'Events list.', true) ->param('schedule', '', function () { return new Cron(); }, 'Schedule CRON syntax.', true) diff --git a/app/controllers/api/projects.php b/app/controllers/api/projects.php index 5da7be03f3..a5179359db 100644 --- a/app/controllers/api/projects.php +++ b/app/controllers/api/projects.php @@ -27,7 +27,7 @@ App::post('/v1/projects') ->label('scope', 'projects.write') ->label('sdk.namespace', 'projects') ->label('sdk.method', 'create') - ->param('name', null, function () { return new Text(100); }, 'Project name.') + ->param('name', null, function () { return new Text(128); }, 'Project name. Max length: 128 chars.') ->param('teamId', '', function () { return new UID(); }, 'Team unique ID.') ->param('description', '', function () { return new Text(255); }, 'Project description.', true) ->param('logo', '', function () { return new Text(1024); }, 'Project logo.', true) @@ -335,8 +335,8 @@ App::patch('/v1/projects/:projectId') ->label('sdk.namespace', 'projects') ->label('sdk.method', 'update') ->param('projectId', '', function () { return new UID(); }, 'Project unique ID.') - ->param('name', null, function () { return new Text(100); }, 'Project name.') - ->param('description', '', function () { return new Text(255); }, 'Project description.', true) + ->param('name', null, function () { return new Text(128); }, 'Project name. Max length: 128 chars.') + ->param('description', '', function () { return new Text(256); }, 'Project description. Max length: 256 chars.', true) ->param('logo', '', function () { return new Text(1024); }, 'Project logo.', true) ->param('url', '', function () { return new URL(); }, 'Project URL.', true) ->param('legalName', '', function () { return new Text(256); }, 'Project legal name.', true) @@ -474,7 +474,7 @@ App::post('/v1/projects/:projectId/webhooks') ->label('sdk.namespace', 'projects') ->label('sdk.method', 'createWebhook') ->param('projectId', null, function () { return new UID(); }, 'Project unique ID.') - ->param('name', null, function () { return new Text(256); }, 'Webhook name.') + ->param('name', null, function () { return new Text(128); }, 'Webhook name. Max length: 128 chars.') ->param('events', null, function () { return new ArrayList(new WhiteList(array_keys(Config::getParam('events')), true)); }, 'Events list.') ->param('url', null, function () { return new URL(); }, 'Webhook URL.') ->param('security', false, function () { return new Boolean(true); }, 'Certificate verification, false for disabled or true for enabled.') @@ -610,7 +610,7 @@ App::put('/v1/projects/:projectId/webhooks/:webhookId') ->label('sdk.method', 'updateWebhook') ->param('projectId', null, function () { return new UID(); }, 'Project unique ID.') ->param('webhookId', null, function () { return new UID(); }, 'Webhook unique ID.') - ->param('name', null, function () { return new Text(256); }, 'Webhook name.') + ->param('name', null, function () { return new Text(128); }, 'Webhook name. Max length: 128 chars.') ->param('events', null, function () { return new ArrayList(new WhiteList(array_keys(Config::getParam('events')), true)); }, 'Events list.') ->param('url', null, function () { return new URL(); }, 'Webhook URL.') ->param('security', false, function () { return new Boolean(true); }, 'Certificate verification, false for disabled or true for enabled.') ->param('httpUser', '', function () { return new Text(256); }, 'Webhook HTTP user.', true) @@ -699,7 +699,7 @@ App::post('/v1/projects/:projectId/keys') ->label('sdk.namespace', 'projects') ->label('sdk.method', 'createKey') ->param('projectId', null, function () { return new UID(); }, 'Project unique ID.') - ->param('name', null, function () { return new Text(256); }, 'Key name.') + ->param('name', null, function () { return new Text(128); }, 'Key name. Max length: 128 chars.') ->param('scopes', null, function () { return new ArrayList(new WhiteList(Config::getParam('scopes'))); }, 'Key scopes list.') ->action(function ($projectId, $name, $scopes, $response, $consoleDB) { /** @var Utopia\Response $response */ @@ -792,7 +792,7 @@ App::put('/v1/projects/:projectId/keys/:keyId') ->label('sdk.method', 'updateKey') ->param('projectId', null, function () { return new UID(); }, 'Project unique ID.') ->param('keyId', null, function () { return new UID(); }, 'Key unique ID.') - ->param('name', null, function () { return new Text(256); }, 'Key name.') + ->param('name', null, function () { return new Text(128); }, 'Key name. Max length: 128 chars.') ->param('scopes', null, function () { return new ArrayList(new WhiteList(Config::getParam('scopes'))); }, 'Key scopes list') ->action(function ($projectId, $keyId, $name, $scopes, $response, $consoleDB) { /** @var Utopia\Response $response */ @@ -862,7 +862,7 @@ App::post('/v1/projects/:projectId/tasks') ->label('sdk.namespace', 'projects') ->label('sdk.method', 'createTask') ->param('projectId', null, function () { return new UID(); }, 'Project unique ID.') - ->param('name', null, function () { return new Text(256); }, 'Task name.') + ->param('name', null, function () { return new Text(128); }, 'Task name. Max length: 128 chars.') ->param('status', null, function () { return new WhiteList(['play', 'pause']); }, 'Task status.') ->param('schedule', null, function () { return new Cron(); }, 'Task schedule CRON syntax.') ->param('security', false, function () { return new Boolean(true); }, 'Certificate verification, false for disabled or true for enabled.') @@ -1016,7 +1016,7 @@ App::put('/v1/projects/:projectId/tasks/:taskId') ->label('sdk.method', 'updateTask') ->param('projectId', null, function () { return new UID(); }, 'Project unique ID.') ->param('taskId', null, function () { return new UID(); }, 'Task unique ID.') - ->param('name', null, function () { return new Text(256); }, 'Task name.') + ->param('name', null, function () { return new Text(128); }, 'Task name. Max length: 128 chars.') ->param('status', null, function () { return new WhiteList(['play', 'pause']); }, 'Task status.') ->param('schedule', null, function () { return new Cron(); }, 'Task schedule CRON syntax.') ->param('security', false, function () { return new Boolean(true); }, 'Certificate verification, false for disabled or true for enabled.') @@ -1122,7 +1122,7 @@ App::post('/v1/projects/:projectId/platforms') ->label('sdk.method', 'createPlatform') ->param('projectId', null, function () { return new UID(); }, 'Project unique ID.') ->param('type', null, function () { return new WhiteList(['web', 'flutter-ios', 'flutter-android', 'ios', 'android', 'unity']); }, 'Platform type.') - ->param('name', null, function () { return new Text(256); }, 'Platform name.') + ->param('name', null, function () { return new Text(128); }, 'Platform name. Max length: 128 chars.') ->param('key', '', function () { return new Text(256); }, 'Package name for android or bundle ID for iOS.', true) ->param('store', '', function () { return new Text(256); }, 'App store or Google Play store ID.', true) ->param('hostname', '', function () { return new Text(256); }, 'Platform client hostname.', true) @@ -1226,7 +1226,7 @@ App::put('/v1/projects/:projectId/platforms/:platformId') ->label('sdk.method', 'updatePlatform') ->param('projectId', null, function () { return new UID(); }, 'Project unique ID.') ->param('platformId', null, function () { return new UID(); }, 'Platform unique ID.') - ->param('name', null, function () { return new Text(256); }, 'Platform name.') + ->param('name', null, function () { return new Text(128); }, 'Platform name. Max length: 128 chars.') ->param('key', '', function () { return new Text(256); }, 'Package name for android or bundle ID for iOS.', true) ->param('store', '', function () { return new Text(256); }, 'App store or Google Play store ID.', true) ->param('hostname', '', function () { return new Text(256); }, 'Platform client URL.', true) diff --git a/app/controllers/api/teams.php b/app/controllers/api/teams.php index 159b0d2689..6ae2cbbb1a 100644 --- a/app/controllers/api/teams.php +++ b/app/controllers/api/teams.php @@ -26,7 +26,7 @@ App::post('/v1/teams') ->label('sdk.namespace', 'teams') ->label('sdk.method', 'create') ->label('sdk.description', '/docs/references/teams/create-team.md') - ->param('name', null, function () { return new Text(100); }, 'Team name.') + ->param('name', null, function () { return new Text(128); }, 'Team name. Max length: 128 chars.') ->param('roles', ['owner'], function () { return new ArrayList(new Text(128)); }, 'Array of strings. Use this param to set the roles in the team for the user who created it. The default role is **owner**. A role can be any string. Learn more about [roles and permissions](/docs/permissions).', true) ->action(function ($name, $roles, $response, $user, $projectDB, $mode) { /** @var Utopia\Response $response */ @@ -147,7 +147,7 @@ App::put('/v1/teams/:teamId') ->label('sdk.method', 'update') ->label('sdk.description', '/docs/references/teams/update-team.md') ->param('teamId', '', function () { return new UID(); }, 'Team unique ID.') - ->param('name', null, function () { return new Text(100); }, 'Team name.') + ->param('name', null, function () { return new Text(128); }, 'Team name. Max length: 128 chars.') ->action(function ($teamId, $name, $response, $projectDB) { /** @var Utopia\Response $response */ /** @var Appwrite\Database\Database $projectDB */ @@ -220,7 +220,7 @@ App::post('/v1/teams/:teamId/memberships') ->label('sdk.description', '/docs/references/teams/create-team-membership.md') ->param('teamId', '', function () { return new UID(); }, 'Team unique ID.') ->param('email', '', function () { return new Email(); }, 'New team member email.') - ->param('name', '', function () { return new Text(100); }, 'New team member name.', true) + ->param('name', '', function () { return new Text(128); }, 'New team member name. Max length: 128 chars.', true) ->param('roles', [], function () { return new ArrayList(new Text(128)); }, 'Array of strings. Use this param to set the user roles in the team. A role can be any string. Learn more about [roles and permissions](/docs/permissions).') ->param('url', '', function ($clients) { return new Host($clients); }, 'URL to redirect the user back to your app from the invitation email. Only URLs from hostnames in your project platform list are allowed. This requirement helps to prevent an [open redirect](https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html) attack against your project API.', false, ['clients']) // TODO add our own built-in confirm page ->action(function ($teamId, $email, $name, $roles, $url, $response, $project, $user, $projectDB, $locale, $audits, $mails, $mode) { diff --git a/app/controllers/api/users.php b/app/controllers/api/users.php index 551fffb643..6eb8137c01 100644 --- a/app/controllers/api/users.php +++ b/app/controllers/api/users.php @@ -28,7 +28,7 @@ App::post('/v1/users') ->label('sdk.description', '/docs/references/users/create-user.md') ->param('email', '', function () { return new Email(); }, 'User email.') ->param('password', '', function () { return new Password(); }, 'User password. Must be between 6 to 32 chars.') - ->param('name', '', function () { return new Text(100); }, 'User name.', true) + ->param('name', '', function () { return new Text(128); }, 'User name. Max length: 128 chars.', true) ->action(function ($email, $password, $name, $response, $projectDB) { /** @var Utopia\Response $response */ /** @var Appwrite\Database\Database $projectDB */ diff --git a/app/views/console/account/index.phtml b/app/views/console/account/index.phtml index c8c86f729f..e14f73b749 100644 --- a/app/views/console/account/index.phtml +++ b/app/views/console/account/index.phtml @@ -46,7 +46,7 @@
- +
diff --git a/app/views/console/comps/header.phtml b/app/views/console/comps/header.phtml index 921a9c933e..ead2423b25 100644 --- a/app/views/console/comps/header.phtml +++ b/app/views/console/comps/header.phtml @@ -218,7 +218,7 @@

Appwrite projects are containers for your resources and apps across different platforms.

- +