Skip to content

Commit fc97e26

Browse files
committed
Merge remote-tracking branch 'origin/master'
# Conflicts: # test/parse_client_configuration_test.dart
2 parents ae1cdad + a578a01 commit fc97e26

19 files changed

+109
-125
lines changed

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
## 1.0.11
2+
ParseFile fixed
3+
Anonymous login
4+
SecurityContext
5+
CloudFunctions with objects
6+
17
## 1.0.10
28
Add ParseConfig.
39
Fixed whereEqualsTo('', PARSEOBJECT) and other queries

README.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ Want to get involved? Join our Slack channel and help out! (http://flutter-parse
1313
To install, either add to your pubspec.yaml
1414
```
1515
dependencies:
16-
parse_server_sdk: ^1.0.10
16+
parse_server_sdk: ^1.0.11
1717
```
1818
or clone this repository and add to your project. As this is an early development with multiple contributors, it is probably best to download/clone and keep updating as an when a new feature is added.
1919

@@ -33,8 +33,10 @@ Parse().initialize(
3333
ApplicationConstants.keyApplicationId,
3434
ApplicationConstants.keyParseServerUrl,
3535
masterKey: ApplicationConstants.keyParseMasterKey,
36-
debug: true,
37-
liveQuery: true);
36+
clientKey: ApplicationConstants.keyParseClientKey,
37+
debug: true,
38+
liveQuery: true,
39+
securityContext: securityContext);
3840
```
3941

4042
## Queries

example/lib/diet_plan.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
import 'dart:core';
22

3-
import 'package:parse_server_sdk/parse.dart';
3+
import 'package:parse_server_sdk/parse_server_sdk.dart';
44

55
class DietPlan extends ParseObject implements ParseCloneable {
6-
76
DietPlan() : super(_keyTableName);
8-
DietPlan.clone(): this();
7+
DietPlan.clone() : this();
98

109
/// Looks strangely hacky but due to Flutter not using reflection, we have to
1110
/// mimic a clone
12-
@override clone(Map map) => DietPlan.clone()..fromJson(map);
11+
@override
12+
clone(Map map) => DietPlan.clone()..fromJson(map);
1313

1414
static const String _keyTableName = 'Diet_Plans';
1515
static const String keyName = 'Name';

example/lib/main.dart

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import 'package:flutter/material.dart';
22
import 'package:flutter_plugin_example/application_constants.dart';
33
import 'package:flutter_plugin_example/diet_plan.dart';
4-
import 'package:parse_server_sdk/parse.dart';
4+
import 'package:parse_server_sdk/parse_server_sdk.dart';
55

66
void main() => runApp(new MyApp());
77

@@ -178,20 +178,13 @@ class _MyAppState extends State<MyApp> {
178178
}
179179

180180
function() async {
181-
var user =
182-
ParseUser("TestFlutter", "TestPassword123", "[email protected]");
183-
await user.signUp();
184-
var loginResponse = await user.login();
185-
if (loginResponse.success) user = loginResponse.result;
186-
187-
var customClient = ParseHTTPClient();
188-
customClient.additionalHeaders = {
189-
keyHeaderSessionToken: ParseCoreData().sessionId
190-
};
191-
var function = ParseCloudFunction('hello', client: customClient);
192-
function.execute();
193-
194-
user.destroy();
181+
var function = ParseCloudFunction('hello');
182+
var result = await function.executeObjectFunction<ParseObject>();
183+
if (result.success) {
184+
if (result.result is ParseObject) {
185+
print((result.result as ParseObject).className);
186+
}
187+
}
195188
}
196189

197190
functionWithParameters() async {

lib/parse.dart renamed to lib/parse_server_sdk.dart

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,13 @@ part 'src/enums/parse_enum_api_rq.dart';
2222

2323
part 'src/network/parse_http_client.dart';
2424

25-
part 'src/network/parse_livequery.dart';
25+
part 'src/network/parse_live_query.dart';
2626

2727
part 'src/network/parse_query.dart';
2828

2929
part 'src/objects/parse_base.dart';
3030

31-
part 'src/objects/parse_clonable.dart';
31+
part 'src/objects/parse_cloneable.dart';
3232

3333
part 'src/objects/parse_config.dart';
3434

@@ -58,11 +58,11 @@ part 'src/utils/parse_utils.dart';
5858

5959
class Parse {
6060
ParseCoreData data;
61-
bool _hasBeenInitialised = false;
61+
bool _hasBeenInitialized = false;
6262

63-
/// To initialise Parse Server in your application
63+
/// To initialize Parse Server in your application
6464
///
65-
/// This should be initialised in MyApp() creation
65+
/// This should be initialized in MyApp() creation
6666
///
6767
/// ```
6868
/// Parse().initialize(
@@ -91,26 +91,31 @@ class Parse {
9191

9292
ParseCoreData().initStorage();
9393

94-
_hasBeenInitialised = true;
94+
_hasBeenInitialized = true;
9595

9696
return Parse();
9797
}
9898

99-
bool hasParseBeenInitialised() => _hasBeenInitialised;
99+
bool hasParseBeenInitialized() => _hasBeenInitialized;
100100

101-
Future<ParseResponse> healthCheck() async {
101+
Future<ParseResponse> healthCheck(
102+
{bool debug, ParseHTTPClient client}) async {
102103
ParseResponse parseResponse;
103104

105+
bool _debug = isDebugEnabled(objectLevelDebug: debug);
106+
ParseHTTPClient _client =
107+
client ?? ParseHTTPClient(ParseCoreData().securityContext);
108+
104109
try {
105-
var response = await ParseHTTPClient(ParseCoreData().securityContext)
106-
.get("${ParseCoreData().serverUrl}$keyEndPointHealth");
110+
var response =
111+
await _client.get("${ParseCoreData().serverUrl}$keyEndPointHealth");
107112
parseResponse =
108113
ParseResponse.handleResponse(this, response, returnAsResult: true);
109114
} on Exception catch (e) {
110115
parseResponse = ParseResponse.handleException(e);
111116
}
112117

113-
if (ParseCoreData().debug) {
118+
if (_debug) {
114119
logger(ParseCoreData().appName, keyClassMain,
115120
ParseApiRQ.healthCheck.toString(), parseResponse);
116121
}

lib/src/base/parse_constants.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
part of flutter_parse_sdk;
22

33
// Library
4-
const String keySdkVersion = '1.0.10';
4+
const String keySdkVersion = '1.0.11';
55
const String keyLibraryName = 'Flutter Parse SDK';
66

77
// End Points

lib/src/network/parse_query.dart

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,15 @@ class QueryBuilder<T extends ParseObject> {
2727
limiters['where'] = where;
2828
}
2929

30-
/// Orders the results ascedingly.
30+
/// Sorts the results in ascending order.
3131
///
3232
/// [String] order will be the column of the table that the results are
3333
/// ordered by
3434
void orderByAscending(String order) {
3535
limiters["order"] = order;
3636
}
3737

38-
/// Orders the results descendingly.
38+
/// Sorts the results descending order.
3939
///
4040
/// [String] order will be the column of the table that the results are
4141
/// ordered by
@@ -48,12 +48,12 @@ class QueryBuilder<T extends ParseObject> {
4848
/// [String] keys will only return the columns of a result you want the data for,
4949
/// this is useful for large objects
5050
void keysToReturn(List<String> keys) {
51-
limiters["keys"] = concatArray(keys);
51+
limiters["keys"] = concatenateArray(keys);
5252
}
5353

5454
/// Includes other ParseObjects stored as a Pointer
5555
void includeObject(List<String> objectTypes) {
56-
limiters["include"] = concatArray(objectTypes);
56+
limiters["include"] = concatenateArray(objectTypes);
5757
}
5858

5959
/// Returns an object where the [String] column starts with [value]
@@ -131,7 +131,7 @@ class QueryBuilder<T extends ParseObject> {
131131
MapEntry(column, value), "\$nin"));
132132
}
133133

134-
/// Returns an object where the [String] column for the object has data correctley entered/saved
134+
/// Returns an object where the [String] column for the object has data correctly entered/saved
135135
void whereValueExists(String column, bool value) {
136136
queries.add(_buildQueryWithColumnValueAndOperator(
137137
MapEntry(column, value), "\$exists"));
@@ -211,7 +211,7 @@ class QueryBuilder<T extends ParseObject> {
211211
return queryBuilder;
212212
}
213213

214-
String concatArray(List<String> queries) {
214+
String concatenateArray(List<String> queries) {
215215
String queryBuilder = "";
216216

217217
for (var item in queries) {
@@ -252,17 +252,17 @@ class QueryBuilder<T extends ParseObject> {
252252
/// This joins queries that should be joined together... e.g. age > 10 &&
253253
/// age < 20, this would be similar to age > 10 < 20
254254
List _checkForMultipleColumnInstances(List<MapEntry> queries) {
255-
List<MapEntry> sanitisedQueries = List();
255+
List<MapEntry> sanitizedQueries = List();
256256
List<String> keysAlreadyCompacted = List();
257257

258258
// Run through each query
259259
for (var query in queries) {
260-
// Add queries that don't need sanitising
260+
// Add queries that don't need sanitizing
261261
if (query.key == _NO_OPERATOR_NEEDED || query.key == _SINGLE_QUERY) {
262-
sanitisedQueries.add(MapEntry(_NO_OPERATOR_NEEDED, query.value));
262+
sanitizedQueries.add(MapEntry(_NO_OPERATOR_NEEDED, query.value));
263263
}
264264

265-
// Check if query with same column name has been sanitised
265+
// Check if query with same column name has been sanitized
266266
if (!keysAlreadyCompacted.contains(query.key) &&
267267
query.key != _NO_OPERATOR_NEEDED &&
268268
query.key != _SINGLE_QUERY) {
@@ -290,11 +290,11 @@ class QueryBuilder<T extends ParseObject> {
290290
}
291291
}
292292

293-
sanitisedQueries.add(MapEntry(query.key, queryStart += "{$queryEnd}"));
293+
sanitizedQueries.add(MapEntry(query.key, queryStart += "{$queryEnd}"));
294294
}
295295
}
296296

297-
return sanitisedQueries;
297+
return sanitizedQueries;
298298
}
299299

300300
/// Adds the limiters to the query, i.e. skip=10, limit=10

lib/src/objects/parse_config.dart

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
part of flutter_parse_sdk;
22

33
class ParseConfig extends ParseObject {
4-
var _client = ParseHTTPClient(ParseCoreData().securityContext);
5-
64
/// Creates an instance of ParseConfig so that you can grab all configs from the server
75
ParseConfig({bool debug, ParseHTTPClient client}) : super('config') {
8-
if (debug != null) setDebug(debug);
9-
if (client != null) setClient(client);
6+
_debug = isDebugEnabled(objectLevelDebug: debug);
7+
_client = client ?? ParseHTTPClient(ParseCoreData().securityContext);
108
}
119

1210
/// Gets all configs from the server

0 commit comments

Comments
 (0)