diff --git a/README.md b/README.md index b6c40f2..d48c923 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ Add this to your package's `pubspec.yaml` file: ```yml dependencies: - appwrite: ^15.0.0 + appwrite: ^15.0.1 ``` You can install packages from the command line: diff --git a/lib/services/account.dart b/lib/services/account.dart index 8c93223..262be7a 100644 --- a/lib/services/account.dart +++ b/lib/services/account.dart @@ -11,7 +11,7 @@ class Account extends Service { final Map apiParams = {}; - final Map apiHeaders = {'content-type': 'application/json'}; + final Map apiHeaders = {}; final res = await client.call( HttpMethod.get, @@ -94,7 +94,7 @@ class Account extends Service { final Map apiParams = {'queries': queries}; - final Map apiHeaders = {'content-type': 'application/json'}; + final Map apiHeaders = {}; final res = await client.call( HttpMethod.get, @@ -156,7 +156,7 @@ class Account extends Service { final Map apiParams = {'queries': queries}; - final Map apiHeaders = {'content-type': 'application/json'}; + final Map apiHeaders = {}; final res = await client.call( HttpMethod.get, @@ -315,7 +315,7 @@ class Account extends Service { final Map apiParams = {}; - final Map apiHeaders = {'content-type': 'application/json'}; + final Map apiHeaders = {}; final res = await client.call( HttpMethod.get, @@ -336,7 +336,7 @@ class Account extends Service { final Map apiParams = {}; - final Map apiHeaders = {'content-type': 'application/json'}; + final Map apiHeaders = {}; final res = await client.call( HttpMethod.get, @@ -469,7 +469,7 @@ class Account extends Service { final Map apiParams = {}; - final Map apiHeaders = {'content-type': 'application/json'}; + final Map apiHeaders = {}; final res = await client.call( HttpMethod.get, @@ -571,7 +571,7 @@ class Account extends Service { final Map apiParams = {}; - final Map apiHeaders = {'content-type': 'application/json'}; + final Map apiHeaders = {}; final res = await client.call( HttpMethod.get, @@ -795,7 +795,7 @@ class Account extends Service { final Map apiParams = {}; - final Map apiHeaders = {'content-type': 'application/json'}; + final Map apiHeaders = {}; final res = await client.call( HttpMethod.get, diff --git a/lib/services/databases.dart b/lib/services/databases.dart index 5eaf1eb..eb3cdd3 100644 --- a/lib/services/databases.dart +++ b/lib/services/databases.dart @@ -20,7 +20,7 @@ class Databases extends Service { final Map apiParams = {'queries': queries}; - final Map apiHeaders = {'content-type': 'application/json'}; + final Map apiHeaders = {}; final res = await client.call( HttpMethod.get, @@ -36,6 +36,7 @@ class Databases extends Service { /// collection resource using either a [server /// integration](https://appwrite.io/docs/server/databases#databasesCreateCollection) /// API or directly from your database console. + /// Future createDocument({ required String databaseId, required String collectionId, @@ -82,7 +83,7 @@ class Databases extends Service { final Map apiParams = {'queries': queries}; - final Map apiHeaders = {'content-type': 'application/json'}; + final Map apiHeaders = {}; final res = await client.call( HttpMethod.get, diff --git a/lib/services/functions.dart b/lib/services/functions.dart index f13323a..6017b64 100644 --- a/lib/services/functions.dart +++ b/lib/services/functions.dart @@ -23,7 +23,7 @@ class Functions extends Service { 'search': search, }; - final Map apiHeaders = {'content-type': 'application/json'}; + final Map apiHeaders = {}; final res = await client.call( HttpMethod.get, @@ -85,7 +85,7 @@ class Functions extends Service { final Map apiParams = {}; - final Map apiHeaders = {'content-type': 'application/json'}; + final Map apiHeaders = {}; final res = await client.call( HttpMethod.get, diff --git a/lib/services/locale.dart b/lib/services/locale.dart index 8b746d5..fbd04e4 100644 --- a/lib/services/locale.dart +++ b/lib/services/locale.dart @@ -17,7 +17,7 @@ class Locale extends Service { final Map apiParams = {}; - final Map apiHeaders = {'content-type': 'application/json'}; + final Map apiHeaders = {}; final res = await client.call( HttpMethod.get, @@ -36,7 +36,7 @@ class Locale extends Service { final Map apiParams = {}; - final Map apiHeaders = {'content-type': 'application/json'}; + final Map apiHeaders = {}; final res = await client.call( HttpMethod.get, @@ -55,7 +55,7 @@ class Locale extends Service { final Map apiParams = {}; - final Map apiHeaders = {'content-type': 'application/json'}; + final Map apiHeaders = {}; final res = await client.call( HttpMethod.get, @@ -74,7 +74,7 @@ class Locale extends Service { final Map apiParams = {}; - final Map apiHeaders = {'content-type': 'application/json'}; + final Map apiHeaders = {}; final res = await client.call( HttpMethod.get, @@ -93,7 +93,7 @@ class Locale extends Service { final Map apiParams = {}; - final Map apiHeaders = {'content-type': 'application/json'}; + final Map apiHeaders = {}; final res = await client.call( HttpMethod.get, @@ -112,7 +112,7 @@ class Locale extends Service { final Map apiParams = {}; - final Map apiHeaders = {'content-type': 'application/json'}; + final Map apiHeaders = {}; final res = await client.call( HttpMethod.get, @@ -132,7 +132,7 @@ class Locale extends Service { final Map apiParams = {}; - final Map apiHeaders = {'content-type': 'application/json'}; + final Map apiHeaders = {}; final res = await client.call( HttpMethod.get, @@ -151,7 +151,7 @@ class Locale extends Service { final Map apiParams = {}; - final Map apiHeaders = {'content-type': 'application/json'}; + final Map apiHeaders = {}; final res = await client.call( HttpMethod.get, diff --git a/lib/services/storage.dart b/lib/services/storage.dart index 9f70e55..1ce98f4 100644 --- a/lib/services/storage.dart +++ b/lib/services/storage.dart @@ -22,7 +22,7 @@ class Storage extends Service { 'search': search, }; - final Map apiHeaders = {'content-type': 'application/json'}; + final Map apiHeaders = {}; final res = await client.call( HttpMethod.get, @@ -101,7 +101,7 @@ class Storage extends Service { final Map apiParams = {}; - final Map apiHeaders = {'content-type': 'application/json'}; + final Map apiHeaders = {}; final res = await client.call( HttpMethod.get, diff --git a/lib/services/teams.dart b/lib/services/teams.dart index b8a7c30..2408962 100644 --- a/lib/services/teams.dart +++ b/lib/services/teams.dart @@ -16,7 +16,7 @@ class Teams extends Service { 'search': search, }; - final Map apiHeaders = {'content-type': 'application/json'}; + final Map apiHeaders = {}; final res = await client.call( HttpMethod.get, @@ -62,7 +62,7 @@ class Teams extends Service { final Map apiParams = {}; - final Map apiHeaders = {'content-type': 'application/json'}; + final Map apiHeaders = {}; final res = await client.call( HttpMethod.get, @@ -132,7 +132,7 @@ class Teams extends Service { 'search': search, }; - final Map apiHeaders = {'content-type': 'application/json'}; + final Map apiHeaders = {}; final res = await client.call( HttpMethod.get, @@ -213,7 +213,7 @@ class Teams extends Service { final Map apiParams = {}; - final Map apiHeaders = {'content-type': 'application/json'}; + final Map apiHeaders = {}; final res = await client.call( HttpMethod.get, @@ -319,7 +319,7 @@ class Teams extends Service { final Map apiParams = {}; - final Map apiHeaders = {'content-type': 'application/json'}; + final Map apiHeaders = {}; final res = await client.call( HttpMethod.get, diff --git a/lib/src/client_browser.dart b/lib/src/client_browser.dart index d7c908f..028a3c4 100644 --- a/lib/src/client_browser.dart +++ b/lib/src/client_browser.dart @@ -40,7 +40,7 @@ class ClientBrowser extends ClientBase with ClientMixin { 'x-sdk-name': 'Flutter', 'x-sdk-platform': 'client', 'x-sdk-language': 'flutter', - 'x-sdk-version': '15.0.0', + 'x-sdk-version': '15.0.1', 'X-Appwrite-Response-Format': '1.6.0', }; @@ -94,15 +94,24 @@ class ClientBrowser extends ClientBase with ClientMixin { @override ClientBrowser setEndpoint(String endPoint) { + if (!endPoint.startsWith('http://') && !endPoint.startsWith('https://')) { + throw AppwriteException('Invalid endpoint URL: $endPoint'); + } + _endPoint = endPoint; _endPointRealtime = endPoint .replaceFirst('https://', 'wss://') .replaceFirst('http://', 'ws://'); + return this; } @override ClientBrowser setEndPointRealtime(String endPoint) { + if (!endPoint.startsWith('ws://') && !endPoint.startsWith('wss://')) { + throw AppwriteException('Invalid realtime endpoint URL: $endPoint'); + } + _endPointRealtime = endPoint; return this; } diff --git a/lib/src/client_io.dart b/lib/src/client_io.dart index 11f3297..e3fe16c 100644 --- a/lib/src/client_io.dart +++ b/lib/src/client_io.dart @@ -59,7 +59,7 @@ class ClientIO extends ClientBase with ClientMixin { 'x-sdk-name': 'Flutter', 'x-sdk-platform': 'client', 'x-sdk-language': 'flutter', - 'x-sdk-version': '15.0.0', + 'x-sdk-version': '15.0.1', 'X-Appwrite-Response-Format': '1.6.0', }; @@ -124,15 +124,24 @@ class ClientIO extends ClientBase with ClientMixin { @override ClientIO setEndpoint(String endPoint) { + if (!endPoint.startsWith('http://') && !endPoint.startsWith('https://')) { + throw AppwriteException('Invalid endpoint URL: $endPoint'); + } + _endPoint = endPoint; _endPointRealtime = endPoint .replaceFirst('https://', 'wss://') .replaceFirst('http://', 'ws://'); + return this; } @override ClientIO setEndPointRealtime(String endPoint) { + if (!endPoint.startsWith('ws://') && !endPoint.startsWith('wss://')) { + throw AppwriteException('Invalid realtime endpoint URL: $endPoint'); + } + _endPointRealtime = endPoint; return this; } diff --git a/lib/src/enums/credit_card.dart b/lib/src/enums/credit_card.dart index 3a6b256..1bae5c8 100644 --- a/lib/src/enums/credit_card.dart +++ b/lib/src/enums/credit_card.dart @@ -16,7 +16,8 @@ enum CreditCard { unionChinaPay(value: 'union-china-pay'), visa(value: 'visa'), mIR(value: 'mir'), - maestro(value: 'maestro'); + maestro(value: 'maestro'), + rupay(value: 'rupay'); const CreditCard({required this.value}); diff --git a/lib/src/enums/o_auth_provider.dart b/lib/src/enums/o_auth_provider.dart index 2bc1a82..383e45b 100644 --- a/lib/src/enums/o_auth_provider.dart +++ b/lib/src/enums/o_auth_provider.dart @@ -15,6 +15,7 @@ enum OAuthProvider { dropbox(value: 'dropbox'), etsy(value: 'etsy'), facebook(value: 'facebook'), + figma(value: 'figma'), github(value: 'github'), gitlab(value: 'gitlab'), google(value: 'google'), diff --git a/pubspec.yaml b/pubspec.yaml index 2d8f32b..dc41b21 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,5 +1,5 @@ name: appwrite -version: 15.0.0 +version: 15.0.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