Skip to content

Commit 93245bb

Browse files
RodrigoSMarquesphillwiggins
authored andcommitted
Bugix ParseQuery, ParseFile, ParseUser, ParseEncoder (#123)
ParseQuery - Bugfix query with DateTime ParseFile - Bugix download function ParseUser - Remove toJson function (causes crash in ParseUser.currentUser() - ParseEncoder - Bugfix ParseEncoder types
1 parent cf07ef3 commit 93245bb

File tree

7 files changed

+11
-23
lines changed

7 files changed

+11
-23
lines changed

lib/src/network/parse_query.dart

+6-8
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ class QueryBuilder<T extends ParseObject> {
182182
if (orderByScore) orderByDescending('score');
183183
}
184184

185-
/// Returns an objects with key point values near the point given
185+
/// Returns an objects with key point values near the point given
186186
void whereNear(String column, ParseGeoPoint point) {
187187
var latitude = point.latitude;
188188
var longitude = point.longitude;
@@ -281,21 +281,19 @@ class QueryBuilder<T extends ParseObject> {
281281
MapEntry _buildQueryWithColumnValueAndOperator(
282282
MapEntry columnAndValue, String queryOperator) {
283283
var key = columnAndValue.key;
284-
285284
var value = convertValueToCorrectType(columnAndValue.value);
286285

287286
if (queryOperator == _NO_OPERATOR_NEEDED) {
288-
return MapEntry(_NO_OPERATOR_NEEDED, "\"${columnAndValue.key}\": $value");
287+
return MapEntry(_NO_OPERATOR_NEEDED, "\"${key}\": $value");
289288
} else {
290289
var queryString = "\"$key\":";
291290

292291
var queryOperatorAndValueMap = Map();
293-
queryOperatorAndValueMap[queryOperator] = columnAndValue.value;
294-
292+
queryOperatorAndValueMap[queryOperator] = value;
295293
var formattedQueryOperatorAndValue =
296294
JsonEncoder().convert(queryOperatorAndValueMap);
297-
queryString += "$formattedQueryOperatorAndValue";
298295

296+
queryString += "$formattedQueryOperatorAndValue";
299297
return MapEntry(key, queryString);
300298
}
301299
}
@@ -332,8 +330,8 @@ class QueryBuilder<T extends ParseObject> {
332330
for (var queryToCompact in listOfQueriesCompact) {
333331
var queryToCompactValue = queryToCompact.value.toString();
334332
queryToCompactValue = queryToCompactValue.replaceFirst("{", "");
335-
queryToCompactValue = queryToCompactValue.replaceAll("}", "");
336-
333+
queryToCompactValue = queryToCompactValue.replaceRange(
334+
queryToCompactValue.length - 1, queryToCompactValue.length, "");
337335
if (listOfQueriesCompact.first == queryToCompact) {
338336
queryEnd += (queryToCompactValue.replaceAll(queryStart, " "));
339337
} else {

lib/src/objects/parse_file.dart

+1-1
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ class ParseFile extends ParseObject {
7373
await file.create();
7474

7575
var response = await _client.get(url);
76-
file.writeAsBytes(response.bodyBytes);
76+
await file.writeAsBytes(response.bodyBytes);
7777

7878
return this;
7979
}

lib/src/objects/parse_installation.dart

-1
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,6 @@ class ParseInstallation extends ParseObject {
218218

219219
if (apiResponse.success) {
220220
var installation = apiResponse.result as ParseObject;
221-
print("achou installation");
222221
return Future.value(installation.get<List<dynamic>>("channels"));
223222
} else {
224223
return null;

lib/src/objects/parse_object.dart

-1
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,6 @@ class ParseObject extends ParseBase implements ParseCloneable {
256256
host: tempUri.host,
257257
path: "${tempUri.path}$_path",
258258
query: query);
259-
260259
var result = await _client.get(url);
261260
return handleResponse(this, result, ParseApiRQ.query, _debug, className);
262261
} on Exception catch (e) {

lib/src/objects/parse_user.dart

-7
Original file line numberDiff line numberDiff line change
@@ -422,11 +422,4 @@ class ParseUser extends ParseObject implements ParseCloneable {
422422
}
423423

424424
static ParseUser _getEmptyUser() => ParseUser(null, null, null);
425-
426-
@override
427-
toJson({bool full: false, bool forApiRQ: false}) => <String, String>{
428-
"__type": "Pointer",
429-
keyVarClassName: keyClassUser,
430-
keyVarObjectId: this.objectId
431-
};
432425
}

lib/src/utils/parse_encoder.dart

-4
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,6 @@ dynamic parseEncode(dynamic value, {bool full}) {
2828
return value;
2929
}
3030

31-
if (value is ParseUser) {
32-
return value;
33-
}
34-
3531
if (value is ParseObject) {
3632
if (full) {
3733
return value.toJson(full: full);

lib/src/utils/parse_utils.dart

+4-1
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,12 @@ bool isDebugEnabled({bool objectLevelDebug}) {
1111
/// Converts the object to the correct value for JSON,
1212
///
1313
/// Strings are wrapped with "" but integers and others are not
14-
convertValueToCorrectType(dynamic value) {
14+
dynamic convertValueToCorrectType(dynamic value) {
1515
if (value is String && !value.contains('__type')) {
1616
return "\"$value\"";
17+
}
18+
if (value is DateTime || value is ParseObject) {
19+
return parseEncode(value);
1720
} else {
1821
return value;
1922
}

0 commit comments

Comments
 (0)