diff --git a/lib/src/network/parse_query.dart b/lib/src/network/parse_query.dart index 8cdd67623..d330a8c34 100644 --- a/lib/src/network/parse_query.dart +++ b/lib/src/network/parse_query.dart @@ -182,7 +182,7 @@ class QueryBuilder { if (orderByScore) orderByDescending('score'); } - /// Returns an objects with key point values near the point given + /// Returns an objects with key point values near the point given void whereNear(String column, ParseGeoPoint point) { var latitude = point.latitude; var longitude = point.longitude; @@ -281,21 +281,19 @@ class QueryBuilder { MapEntry _buildQueryWithColumnValueAndOperator( MapEntry columnAndValue, String queryOperator) { var key = columnAndValue.key; - var value = convertValueToCorrectType(columnAndValue.value); if (queryOperator == _NO_OPERATOR_NEEDED) { - return MapEntry(_NO_OPERATOR_NEEDED, "\"${columnAndValue.key}\": $value"); + return MapEntry(_NO_OPERATOR_NEEDED, "\"${key}\": $value"); } else { var queryString = "\"$key\":"; var queryOperatorAndValueMap = Map(); - queryOperatorAndValueMap[queryOperator] = columnAndValue.value; - + queryOperatorAndValueMap[queryOperator] = value; var formattedQueryOperatorAndValue = JsonEncoder().convert(queryOperatorAndValueMap); - queryString += "$formattedQueryOperatorAndValue"; + queryString += "$formattedQueryOperatorAndValue"; return MapEntry(key, queryString); } } @@ -332,8 +330,8 @@ class QueryBuilder { for (var queryToCompact in listOfQueriesCompact) { var queryToCompactValue = queryToCompact.value.toString(); queryToCompactValue = queryToCompactValue.replaceFirst("{", ""); - queryToCompactValue = queryToCompactValue.replaceAll("}", ""); - + queryToCompactValue = queryToCompactValue.replaceRange( + queryToCompactValue.length - 1, queryToCompactValue.length, ""); if (listOfQueriesCompact.first == queryToCompact) { queryEnd += (queryToCompactValue.replaceAll(queryStart, " ")); } else { diff --git a/lib/src/objects/parse_file.dart b/lib/src/objects/parse_file.dart index a9b3c87dd..60a29f9ba 100644 --- a/lib/src/objects/parse_file.dart +++ b/lib/src/objects/parse_file.dart @@ -73,7 +73,7 @@ class ParseFile extends ParseObject { await file.create(); var response = await _client.get(url); - file.writeAsBytes(response.bodyBytes); + await file.writeAsBytes(response.bodyBytes); return this; } diff --git a/lib/src/objects/parse_installation.dart b/lib/src/objects/parse_installation.dart index 7e16f1664..9814a4566 100644 --- a/lib/src/objects/parse_installation.dart +++ b/lib/src/objects/parse_installation.dart @@ -218,7 +218,6 @@ class ParseInstallation extends ParseObject { if (apiResponse.success) { var installation = apiResponse.result as ParseObject; - print("achou installation"); return Future.value(installation.get>("channels")); } else { return null; diff --git a/lib/src/objects/parse_object.dart b/lib/src/objects/parse_object.dart index 61c13c918..aacbccf0f 100644 --- a/lib/src/objects/parse_object.dart +++ b/lib/src/objects/parse_object.dart @@ -256,7 +256,6 @@ class ParseObject extends ParseBase implements ParseCloneable { host: tempUri.host, path: "${tempUri.path}$_path", query: query); - var result = await _client.get(url); return handleResponse(this, result, ParseApiRQ.query, _debug, className); } on Exception catch (e) { diff --git a/lib/src/objects/parse_user.dart b/lib/src/objects/parse_user.dart index f50770c35..2c3e169fc 100644 --- a/lib/src/objects/parse_user.dart +++ b/lib/src/objects/parse_user.dart @@ -422,11 +422,4 @@ class ParseUser extends ParseObject implements ParseCloneable { } static ParseUser _getEmptyUser() => ParseUser(null, null, null); - - @override - toJson({bool full: false, bool forApiRQ: false}) => { - "__type": "Pointer", - keyVarClassName: keyClassUser, - keyVarObjectId: this.objectId - }; } diff --git a/lib/src/utils/parse_encoder.dart b/lib/src/utils/parse_encoder.dart index 8e4c11766..b6c9572cb 100644 --- a/lib/src/utils/parse_encoder.dart +++ b/lib/src/utils/parse_encoder.dart @@ -28,10 +28,6 @@ dynamic parseEncode(dynamic value, {bool full}) { return value; } - if (value is ParseUser) { - return value; - } - if (value is ParseObject) { if (full) { return value.toJson(full: full); diff --git a/lib/src/utils/parse_utils.dart b/lib/src/utils/parse_utils.dart index 422e011e3..20ea33972 100644 --- a/lib/src/utils/parse_utils.dart +++ b/lib/src/utils/parse_utils.dart @@ -11,9 +11,12 @@ bool isDebugEnabled({bool objectLevelDebug}) { /// Converts the object to the correct value for JSON, /// /// Strings are wrapped with "" but integers and others are not -convertValueToCorrectType(dynamic value) { +dynamic convertValueToCorrectType(dynamic value) { if (value is String && !value.contains('__type')) { return "\"$value\""; + } + if (value is DateTime || value is ParseObject) { + return parseEncode(value); } else { return value; }