Skip to content
Merged
Show file tree
Hide file tree
Changes from 19 commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
5ced809
upgrade packages and fix warnings
mbfakourii Feb 23, 2023
395ad66
fix dependency error
mbfakourii Feb 23, 2023
bc8dd34
fix dependency error
mbfakourii Feb 23, 2023
8937b27
fix dependency error
mbfakourii Feb 23, 2023
2e72912
fix dependency error
mbfakourii Feb 23, 2023
78c407c
fix dependency error
mbfakourii Feb 23, 2023
e178c12
fix dependency error in flutter_test
mbfakourii Feb 25, 2023
bbb95de
fix meta package dependency error in flutter_test
mbfakourii Feb 25, 2023
d6e2fdb
update dio to 5.0.1
mbfakourii Feb 25, 2023
8410833
bump dart version and add entry to CHANGELOG.md
mbfakourii Feb 25, 2023
d53b1fa
Merge branch 'master' into update_packages
mbfakourii Feb 26, 2023
5614ee6
update to last cheng and bump dart version to 3.1.15
mbfakourii Feb 26, 2023
cecd220
rollback to old flutter pubspec.yaml
mbfakourii Feb 26, 2023
d171d47
Merge branch 'master' into update_packages
mbfakourii Feb 27, 2023
a720e44
Update packages/dart/pubspec.yaml
mtrezza Feb 27, 2023
d1445d0
Update packages/dart/lib/src/base/parse_constants.dart
mtrezza Feb 27, 2023
7aea049
Update packages/dart/CHANGELOG.md
mtrezza Feb 27, 2023
fccd8b6
Update packages/dart/CHANGELOG.md
mtrezza Feb 27, 2023
5484925
Merge branch 'master' into update_packages
mtrezza Feb 27, 2023
a7d0d3b
Update packages/flutter/pubspec.yaml
mtrezza Feb 27, 2023
1ef5be8
Merge branch 'master' into update_packages
mtrezza Feb 28, 2023
ef63745
rollback flutter files
mbfakourii Feb 28, 2023
1646439
rollback flutter files
mbfakourii Feb 28, 2023
59cb8a4
Merge branch 'master' into update_packages
mbfakourii Mar 2, 2023
e9226d7
fix dart io
mbfakourii Mar 2, 2023
9bb14dd
Merge branch 'master' into update_packages
mbfakourii Mar 6, 2023
47149ee
Update packages/dart/CHANGELOG.md
mtrezza Mar 7, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 12 additions & 2 deletions packages/dart/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
## [4.0.0](https://github.com/parse-community/Parse-SDK-Flutter/compare/dart-3.1.14...dart-4.0.0) (2023-02-27)

### BREAKING CHANGES

* Upgrades to dio 5.x ([#824](https://github.com/parse-community/Parse-SDK-Flutter/pull/824))

### Feature

* Upgrade various dependencies and fix warnings ([#824](https://github.com/parse-community/Parse-SDK-Flutter/pull/824))

## [3.1.14](https://github.com/parse-community/Parse-SDK-Flutter/compare/dart-3.1.13...dart-3.1.14) (2023-02-26)

### Bug Fixes
Expand Down Expand Up @@ -167,7 +177,7 @@ Bug fixes
## 1.0.22

Added dirty children
Added option of sembast or share_preferences
Added option of sembast or share_preferences

## 1.0.21

Expand All @@ -189,7 +199,7 @@ Bug fix

## 1.0.17

LiveQuery fix
LiveQuery fix
Bug fixes

## 1.0.16
Expand Down
14 changes: 7 additions & 7 deletions packages/dart/lib/parse_server_sdk.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ library flutter_parse_sdk;

import 'dart:async';
import 'dart:convert';
import 'dart:io';
import 'package:universal_io/io.dart';
import 'dart:math';
import 'dart:typed_data';
import 'package:dio/dio.dart';
Expand Down Expand Up @@ -142,9 +142,9 @@ class Parse {

Future<ParseResponse> healthCheck(
{bool? debug, ParseClient? client, bool? sendSessionIdByDefault}) async {
final bool _debug = isDebugEnabled(objectLevelDebug: debug);
final bool debugLocal = isDebugEnabled(objectLevelDebug: debug);

final ParseClient _client = client ??
final ParseClient clientLocal = client ??
ParseCoreData().clientCreator(
sendSessionId:
sendSessionIdByDefault ?? ParseCoreData().autoSendSessionId,
Expand All @@ -154,11 +154,11 @@ class Parse {
const ParseApiRQ type = ParseApiRQ.healthCheck;

try {
final ParseNetworkResponse response =
await _client.get('${ParseCoreData().serverUrl}$keyEndPointHealth');
return handleResponse<Parse>(null, response, type, _debug, className);
final ParseNetworkResponse response = await clientLocal
.get('${ParseCoreData().serverUrl}$keyEndPointHealth');
return handleResponse<Parse>(null, response, type, debugLocal, className);
} on Exception catch (e) {
return handleException(e, type, _debug, className);
return handleException(e, type, debugLocal, className);
}
}
}
2 changes: 1 addition & 1 deletion packages/dart/lib/src/base/parse_constants.dart
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
part of flutter_parse_sdk;

// Library
const String keySdkVersion = '3.1.14';
const String keySdkVersion = '4.0.0';
const String keyLibraryName = 'Flutter Parse SDK';

// End Points
Expand Down
5 changes: 2 additions & 3 deletions packages/dart/lib/src/network/dio_adapter_io.dart
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
import 'dart:io';

import 'package:dio/adapter.dart';
import 'package:dio/io.dart';
import 'package:dio/dio.dart';

HttpClientAdapter createHttpClientAdapter(SecurityContext? securityContext) {
final DefaultHttpClientAdapter defaultHttpClientAdapter =
DefaultHttpClientAdapter();
final IOHttpClientAdapter defaultHttpClientAdapter = IOHttpClientAdapter();

if (securityContext != null) {
defaultHttpClientAdapter.onHttpClientCreate =
Expand Down
6 changes: 2 additions & 4 deletions packages/dart/lib/src/network/dio_adapter_js.dart
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
import 'dart:io';

import 'package:dio/adapter_browser.dart';
import 'package:dio/browser.dart';
import 'package:dio/dio.dart';

HttpClientAdapter createHttpClientAdapter(SecurityContext? securityContext) {
HttpClientAdapter createHttpClientAdapter(dynamic securityContext) {
final BrowserHttpClientAdapter browserHttpClientAdapter =
BrowserHttpClientAdapter();
return browserHttpClientAdapter;
Expand Down
21 changes: 10 additions & 11 deletions packages/dart/lib/src/network/parse_dio_client.dart
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
import 'dart:io';

import 'package:dio/dio.dart' as dio;
import 'package:parse_server_sdk/parse_server_sdk.dart';

import 'dio_adapter_io.dart' if (dart.library.js) 'dio_adapter_js.dart';

class ParseDioClient extends ParseClient {
ParseDioClient(
{bool sendSessionId = false, SecurityContext? securityContext}) {
// securityContext is SecurityContext
ParseDioClient({bool sendSessionId = false, dynamic securityContext}) {
_client = _ParseDioClient(
sendSessionId: sendSessionId,
securityContext: securityContext,
Expand Down Expand Up @@ -66,7 +64,8 @@ class ParseDioClient extends ParseClient {
statusCode: error.response?.statusCode ?? ParseError.otherCause,
);
} else {
return _getOtherCaseErrorForParseNetworkResponse(error.error);
return _getOtherCaseErrorForParseNetworkResponse(
error.error.toString());
}
}
}
Expand Down Expand Up @@ -141,7 +140,8 @@ class ParseDioClient extends ParseClient {
statusCode: error.response?.statusCode ?? ParseError.otherCause,
);
} else {
return _getOtherCaseErrorForParseNetworkResponse(error.error);
return _getOtherCaseErrorForParseNetworkResponse(
error.error.toString());
}
}
}
Expand Down Expand Up @@ -178,8 +178,7 @@ class ParseDioClient extends ParseClient {

/// Creates a custom version of HTTP Client that has Parse Data Preset
class _ParseDioClient with dio.DioMixin implements dio.Dio {
_ParseDioClient(
{bool sendSessionId = false, SecurityContext? securityContext})
_ParseDioClient({bool sendSessionId = false, dynamic securityContext})
: _sendSessionId = sendSessionId {
options = dio.BaseOptions();
httpClientAdapter = createHttpClientAdapter(securityContext);
Expand Down Expand Up @@ -243,7 +242,7 @@ class _ParseDioClient with dio.DioMixin implements dio.Dio {

void _logCUrl(dio.Options options, dynamic data, String url) {
String curlCmd = 'curl';
curlCmd += ' -X ' + options.method!;
curlCmd += ' -X ${options.method!}';
bool compressed = false;
options.headers!.forEach((String name, dynamic value) {
if (name.toLowerCase() == 'accept-encoding' &&
Expand Down Expand Up @@ -272,8 +271,8 @@ class _ParseDioClient with dio.DioMixin implements dio.Dio {
class _Options extends dio.Options {
_Options({
String? method,
int? sendTimeout,
int? receiveTimeout,
Duration? sendTimeout,
Duration? receiveTimeout,
Map<String, dynamic>? extra,
Map<String, dynamic>? headers,
dio.ResponseType? responseType,
Expand Down
2 changes: 1 addition & 1 deletion packages/dart/lib/src/network/parse_http_client.dart
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ class _ParseHTTPClient extends http.BaseClient {

void _logCUrl(http.BaseRequest request) {
String curlCmd = 'curl';
curlCmd += ' -X ' + request.method;
curlCmd += ' -X ${request.method}';
bool compressed = false;
request.headers.forEach((String name, String value) {
if (name.toLowerCase() == 'accept-encoding' &&
Expand Down
10 changes: 5 additions & 5 deletions packages/dart/lib/src/network/parse_live_query.dart
Original file line number Diff line number Diff line change
Expand Up @@ -352,20 +352,20 @@ class LiveQueryClient {
final QueryBuilder query = subscription.query;
final List<String>? keysToReturn = query.limiters['keys']?.split(',');
query.limiters.clear(); //Remove limits in LiveQuery
final String _where = query.buildQuery().replaceAll('where=', '');
final String where = query.buildQuery().replaceAll('where=', '');

//Convert where condition to Map
Map<String, dynamic> _whereMap = <String, dynamic>{};
if (_where != '') {
_whereMap = json.decode(_where);
Map<String, dynamic> whereMap = <String, dynamic>{};
if (where != '') {
whereMap = json.decode(where);
}

final Map<String, dynamic> subscribeMessage = <String, dynamic>{
'op': 'subscribe',
'requestId': subscription.requestId,
'query': <String, dynamic>{
'className': query.object.parseClassName,
'where': _whereMap,
'where': whereMap,
if (keysToReturn != null && keysToReturn.isNotEmpty)
'fields': keysToReturn
}
Expand Down
6 changes: 3 additions & 3 deletions packages/dart/lib/src/network/parse_query.dart
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ class QueryBuilder<T extends ParseObject> {
if (i > 0) {
query += ',';
}
query += '{' + list[i].buildQueries(list[i].queries) + '}';
query += '{${list[i].buildQueries(list[i].queries)}}';
}
query += ']';
queries.add(MapEntry<String, dynamic>(_noOperatorNeeded, query));
Expand Down Expand Up @@ -523,7 +523,7 @@ class QueryBuilder<T extends ParseObject> {
String getLimiters(Map<String, dynamic> map) {
String result = '';
map.forEach((String key, dynamic value) {
result = result + '&$key=$value';
result = '$result&$key=$value';
});
return result;
}
Expand All @@ -533,7 +533,7 @@ class QueryBuilder<T extends ParseObject> {
String result = '';
map.forEach((String key, dynamic value) {
if (result.isNotEmpty) {
result = result + ',"$key":$value';
result = '$result,"$key":$value';
} else {
result = '"$key":$value';
}
Expand Down
2 changes: 1 addition & 1 deletion packages/dart/lib/src/objects/parse_object.dart
Original file line number Diff line number Diff line change
Expand Up @@ -221,7 +221,7 @@ class ParseObject extends ParseBase implements ParseCloneable {
final String parsePath = tempUri.path;
final dynamic request = <String, dynamic>{
'method': method,
'path': '$parsePath$_path' + (objectId != null ? '/$objectId' : ''),
'path': '$parsePath$_path${objectId != null ? '/$objectId' : ''}',
'body': toJson(forApiRQ: true)
};
return request;
Expand Down
26 changes: 14 additions & 12 deletions packages/dart/lib/src/objects/parse_user.dart
Original file line number Diff line number Diff line change
Expand Up @@ -112,8 +112,8 @@ class ParseUser extends ParseObject implements ParseCloneable {
/// if using custom ParseUser object
Future<ParseResponse> getUpdatedUser(
{bool? debug, ParseClient? client}) async {
final bool _debug = isDebugEnabled(objectLevelDebug: debug);
final ParseClient _client = client ??
final bool debugLocal = isDebugEnabled(objectLevelDebug: debug);
final ParseClient clientLocal = client ??
ParseCoreData().clientCreator(
sendSessionId: true,
securityContext: ParseCoreData().securityContext);
Expand All @@ -130,15 +130,16 @@ class ParseUser extends ParseObject implements ParseCloneable {
}

try {
final Uri url = getSanitisedUri(_client, keyEndPointUserName);
final ParseNetworkResponse response = await _client.get(
final Uri url = getSanitisedUri(clientLocal, keyEndPointUserName);
final ParseNetworkResponse response = await clientLocal.get(
url.toString(),
options: ParseNetworkOptions(headers: headers),
);
return await _handleResponse(
this, response, ParseApiRQ.currentUser, _debug, parseClassName);
this, response, ParseApiRQ.currentUser, debugLocal, parseClassName);
} on Exception catch (e) {
return handleException(e, ParseApiRQ.currentUser, _debug, parseClassName);
return handleException(
e, ParseApiRQ.currentUser, debugLocal, parseClassName);
}
}

Expand Down Expand Up @@ -442,20 +443,21 @@ class ParseUser extends ParseObject implements ParseCloneable {
static Future<ParseResponse> all({bool? debug, ParseClient? client}) async {
final ParseUser emptyUser = _getEmptyUser();

final bool _debug = isDebugEnabled(objectLevelDebug: debug);
final ParseClient _client = client ??
final bool debugLocal = isDebugEnabled(objectLevelDebug: debug);
final ParseClient clientLocal = client ??
ParseCoreData().clientCreator(
sendSessionId: true,
securityContext: ParseCoreData().securityContext);

try {
final Uri url = getSanitisedUri(_client, path);
final ParseNetworkResponse response = await _client.get(url.toString());
final Uri url = getSanitisedUri(clientLocal, path);
final ParseNetworkResponse response =
await clientLocal.get(url.toString());
final ParseResponse parseResponse = handleResponse<ParseUser>(
emptyUser, response, ParseApiRQ.getAll, _debug, keyClassUser);
emptyUser, response, ParseApiRQ.getAll, debugLocal, keyClassUser);
return parseResponse;
} on Exception catch (e) {
return handleException(e, ParseApiRQ.getAll, _debug, keyClassUser);
return handleException(e, ParseApiRQ.getAll, debugLocal, keyClassUser);
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ class _ParseResponseBuilder {
List<T> _handleMultipleResults<T>(T object, List<dynamic> data) {
final List<T> resultsList = <T>[];
for (dynamic value in data) {
resultsList.add(_handleSingleResult<T>(object, value, true)!);
resultsList.add(_handleSingleResult<T>(object, value, true) as T);
}
return resultsList;
}
Expand Down
6 changes: 3 additions & 3 deletions packages/dart/lib/src/utils/parse_live_list.dart
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,17 @@ class ParseLiveList<T extends ParseObject> {
}

static Future<ParseLiveList<T>> create<T extends ParseObject>(
QueryBuilder<T> _query, {
QueryBuilder<T> query, {
bool? listenOnAllSubItems,
List<String>? listeningIncludes,
bool lazyLoading = true,
List<String>? preloadedColumns,
}) {
final ParseLiveList<T> parseLiveList = ParseLiveList<T>._(
_query,
query,
listenOnAllSubItems == true
? _toIncludeMap(
_query.limiters['include']?.toString().split(',') ?? <String>[])
query.limiters['include']?.toString().split(',') ?? <String>[])
: _toIncludeMap(listeningIncludes ?? <String>[]),
lazyLoading,
preloadedColumns: preloadedColumns ?? const <String>[],
Expand Down
29 changes: 15 additions & 14 deletions packages/dart/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,32 +1,33 @@
name: parse_server_sdk
description: Dart plugin for Parse Server, (https://parseplatform.org), (https://back4app.com)
version: 3.1.14
version: 4.0.0
homepage: https://github.com/parse-community/Parse-SDK-Flutter

environment:
sdk: ">=2.12.0 <3.0.0"

dependencies:
# Networking
dio: ^4.0.6
http: ^0.13.4
web_socket_channel: ^2.2.0
dio: ^5.0.1
http: ^0.13.5
web_socket_channel: ^2.3.0

#Database
sembast: ^3.2.0
sembast_web: ^2.0.1+1
sembast: ^3.4.0+6
sembast_web: ^2.1.0+4
xxtea: ^2.1.0

# Utils
uuid: ^3.0.6
meta: ^1.7.0
path: ^1.8.1
uuid: ^3.0.7
meta: ^1.8.0
path: ^1.8.2
mime_type: ^1.0.0
timezone: ^0.9.0
timezone: ^0.9.1
universal_io: ^2.2.0

dev_dependencies:
lints: ^1.0.1
lints: ^2.0.1
# Testing
build_runner: ^2.1.11
mockito: ^5.2.0
test: ^1.21.4
build_runner: ^2.3.3
mockito: ^5.3.2
test: ^1.23.1
Loading