diff --git a/src/SDK/Language/Dart.php b/src/SDK/Language/Dart.php index d5c56fcd5..9357ff22f 100644 --- a/src/SDK/Language/Dart.php +++ b/src/SDK/Language/Dart.php @@ -339,6 +339,18 @@ public function getFiles() 'template' => 'dart/pubspec.yaml.twig', 'minify' => false, ], + [ + 'scope' => 'default', + 'destination' => '/lib/client_io.dart', + 'template' => 'dart/lib/client_io.dart.twig', + 'minify' => false, + ], + [ + 'scope' => 'default', + 'destination' => '/lib/client_browser.dart', + 'template' => 'dart/lib/client_browser.dart.twig', + 'minify' => false, + ], [ 'scope' => 'default', 'destination' => '/lib/src/service.dart', diff --git a/src/SDK/Language/Flutter.php b/src/SDK/Language/Flutter.php index d3901e887..4e0a877cd 100644 --- a/src/SDK/Language/Flutter.php +++ b/src/SDK/Language/Flutter.php @@ -187,6 +187,30 @@ public function getFiles() 'template' => 'flutter/lib/package.dart.twig', 'minify' => false, ], + [ + 'scope' => 'default', + 'destination' => '/lib/client_io.dart', + 'template' => 'flutter/lib/client_io.dart.twig', + 'minify' => false, + ], + [ + 'scope' => 'default', + 'destination' => '/lib/client_browser.dart', + 'template' => 'flutter/lib/client_browser.dart.twig', + 'minify' => false, + ], + [ + 'scope' => 'default', + 'destination' => '/lib/realtime_io.dart', + 'template' => 'flutter/lib/realtime_io.dart.twig', + 'minify' => false, + ], + [ + 'scope' => 'default', + 'destination' => '/lib/realtime_browser.dart', + 'template' => 'flutter/lib/realtime_browser.dart.twig', + 'minify' => false, + ], [ 'scope' => 'default', 'destination' => '/pubspec.yaml', diff --git a/templates/dart/lib/client_browser.dart.twig b/templates/dart/lib/client_browser.dart.twig new file mode 100644 index 000000000..09f110ea7 --- /dev/null +++ b/templates/dart/lib/client_browser.dart.twig @@ -0,0 +1 @@ +export 'src/client_browser.dart'; \ No newline at end of file diff --git a/templates/dart/lib/client_io.dart.twig b/templates/dart/lib/client_io.dart.twig new file mode 100644 index 000000000..4d85cbfa6 --- /dev/null +++ b/templates/dart/lib/client_io.dart.twig @@ -0,0 +1 @@ +export 'src/client_io.dart'; \ No newline at end of file diff --git a/templates/flutter/lib/client_browser.dart.twig b/templates/flutter/lib/client_browser.dart.twig new file mode 100644 index 000000000..09f110ea7 --- /dev/null +++ b/templates/flutter/lib/client_browser.dart.twig @@ -0,0 +1 @@ +export 'src/client_browser.dart'; \ No newline at end of file diff --git a/templates/flutter/lib/client_io.dart.twig b/templates/flutter/lib/client_io.dart.twig new file mode 100644 index 000000000..4d85cbfa6 --- /dev/null +++ b/templates/flutter/lib/client_io.dart.twig @@ -0,0 +1 @@ +export 'src/client_io.dart'; \ No newline at end of file diff --git a/templates/flutter/lib/package.dart.twig b/templates/flutter/lib/package.dart.twig index eef4b6f57..bfcdde521 100644 --- a/templates/flutter/lib/package.dart.twig +++ b/templates/flutter/lib/package.dart.twig @@ -15,6 +15,7 @@ export 'src/client.dart'; export 'src/exception.dart'; export 'src/realtime.dart'; export 'src/realtime_subscription.dart'; +export 'src/realtime_message.dart'; export 'package:http/http.dart' show MultipartFile; {% for service in spec.services %} diff --git a/templates/flutter/lib/realtime_browser.dart.twig b/templates/flutter/lib/realtime_browser.dart.twig new file mode 100644 index 000000000..5aa5f420a --- /dev/null +++ b/templates/flutter/lib/realtime_browser.dart.twig @@ -0,0 +1 @@ +export 'src/realtime_browser.dart'; \ No newline at end of file diff --git a/templates/flutter/lib/realtime_io.dart.twig b/templates/flutter/lib/realtime_io.dart.twig new file mode 100644 index 000000000..5f557007a --- /dev/null +++ b/templates/flutter/lib/realtime_io.dart.twig @@ -0,0 +1 @@ +export 'src/realtime_io.dart'; \ No newline at end of file diff --git a/templates/flutter/lib/src/client_io.dart.twig b/templates/flutter/lib/src/client_io.dart.twig index 513e52f0d..ab2695260 100644 --- a/templates/flutter/lib/src/client_io.dart.twig +++ b/templates/flutter/lib/src/client_io.dart.twig @@ -187,11 +187,17 @@ class ClientIO extends ClientBase with ClientMixin { Future webAuth(Uri url) { return FlutterWebAuth.authenticate( - url: url.toString(), - callbackUrlScheme: "appwrite-callback-" + config['project']!) - .then((value) async { - Cookie cookie = new Cookie( - url.queryParameters['key']!, url.queryParameters['secret']!); + url: url.toString(), + callbackUrlScheme: "appwrite-callback-" + config['project']!, + ).then((value) async { + Uri url = Uri.parse(value); + final key = url.queryParameters['key']; + final secret = url.queryParameters['secret']; + if (key == null || secret == null) { + throw {{spec.title | caseUcfirst}}Exception( + "Invalid OAuth2 Response. Key and Secret not available.", 500); + } + Cookie cookie = new Cookie(key, secret); cookie.domain = Uri.parse(_endPoint).host; cookie.httpOnly = true; cookie.path = '/'; diff --git a/tests/languages/android/ServiceTest.kt b/tests/languages/android/ServiceTest.kt index d3b5d942d..3a525cabc 100644 --- a/tests/languages/android/ServiceTest.kt +++ b/tests/languages/android/ServiceTest.kt @@ -53,7 +53,7 @@ class ServiceTest { @Throws(IOException::class) fun test() { val client = Client(ApplicationProvider.getApplicationContext()) - .setEndpointRealtime("wss://realtime.appwrite.org/v1") + .setEndpointRealtime("wss://demo.appwrite.io/v1") .setProject("console") .addHeader("Origin", "http://localhost") .setSelfSigned(true) diff --git a/tests/languages/flutter/tests.dart b/tests/languages/flutter/tests.dart index be602402a..1b0c35022 100644 --- a/tests/languages/flutter/tests.dart +++ b/tests/languages/flutter/tests.dart @@ -8,7 +8,7 @@ void main() async { client.setSelfSigned(); client.setProject('console'); - client.setEndPointRealtime("wss://realtime.appwrite.org/v1"); // change this later to appwrite.io + client.setEndPointRealtime("wss://demo.appwrite.io/v1"); // change this later to appwrite.io Realtime realtime = Realtime(client); final rtsub = realtime.subscribe(["tests"]); diff --git a/tests/languages/web/index.html b/tests/languages/web/index.html index d0c0c32f6..9a0f3e681 100644 --- a/tests/languages/web/index.html +++ b/tests/languages/web/index.html @@ -20,7 +20,7 @@ let sdk = new Appwrite(); sdk.setProject('console'); - sdk.setEndpointRealtime('wss://realtime.appwrite.org/v1'); + sdk.setEndpointRealtime('wss://demo.appwrite.io/v1'); sdk.subscribe('tests', event => { responseRealtime = event.payload.response;