Skip to content

Commit 3042d14

Browse files
authored
Merge pull request #54 from phillwiggins/release/1.0.10
Release/1.0.10
2 parents 8671c34 + 702309b commit 3042d14

15 files changed

+620
-247
lines changed

.idea/workspace.xml

Lines changed: 400 additions & 142 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 1.0.10
2+
Add ParseConfig.
3+
Fixed whereEqualsTo('', PARSEOBJECT) and other queries
4+
15
## 1.0.9
26
Fixed Health Check issue
37

README.md

Lines changed: 13 additions & 1 deletion
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.9
16+
parse_server_sdk: ^1.0.10
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

@@ -193,6 +193,18 @@ Other user features are:-
193193
* Save
194194
* Destroy user
195195

196+
## Config
197+
198+
The SDK now supports Parse Config. A map of all configs can be grabbed from the server by calling :
199+
```
200+
var response = await ParseConfig().getConfigs();
201+
```
202+
203+
and to add a config:
204+
```
205+
ParseConfig().addConfig('TestConfig', 'testing');
206+
```
207+
196208
## Other Features of this library
197209

198210
Main:

example/lib/main.dart

Lines changed: 39 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -35,15 +35,13 @@ class _MyAppState extends State<MyApp> {
3535

3636
initParse() async {
3737
// Initialize parse
38-
Parse().initialize(
39-
ApplicationConstants.keyParseApplicationId,
38+
Parse().initialize(ApplicationConstants.keyParseApplicationId,
4039
ApplicationConstants.keyParseServerUrl,
41-
masterKey: ApplicationConstants.keyParseMasterKey,
42-
debug: true);
40+
masterKey: ApplicationConstants.keyParseMasterKey, debug: true);
4341

4442
// Check server is healthy and live - Debug is on in this instance so check logs for result
4543
var response = await Parse().healthCheck();
46-
if (response.success){
44+
if (response.success) {
4745
runTestQueries();
4846
} else {
4947
print("Server health check failed");
@@ -55,21 +53,24 @@ class _MyAppState extends State<MyApp> {
5553
//getAllItems();
5654
//getAllItemsByName();
5755
//getSingleItem();
58-
query();
56+
getConfigs();
57+
//query();
5958
//function();
59+
//functionWithParameters();
6060
//initUser();
6161
}
6262

6363
void createItem() async {
64-
6564
var newObject = ParseObject('TestObjectForApi');
6665
newObject.set<String>('name', 'testItem');
6766
newObject.set<int>('age', 26);
6867

6968
var apiResponse = await newObject.create();
7069

7170
if (apiResponse.success && apiResponse.result != null) {
72-
print(ApplicationConstants.keyAppName + ": " + apiResponse.result.toString());
71+
print(ApplicationConstants.keyAppName +
72+
": " +
73+
apiResponse.result.toString());
7374
}
7475
}
7576

@@ -113,30 +114,31 @@ class _MyAppState extends State<MyApp> {
113114
// shows example of retrieving a pin
114115
var newDietPlanFromPin = DietPlan().fromPin('R5EonpUDWy');
115116
if (newDietPlanFromPin != null) print('Retreiving from pin worked!');
116-
117117
} else {
118118
print(ApplicationConstants.keyAppName + ": " + apiResponse.error.message);
119119
}
120120
}
121121

122122
void query() async {
123-
var queryBuilder = QueryBuilder<ParseObject>(ParseObject('TestObjectForApi'))
124-
..setLimit(10)
125-
..includeObject(['Day']);
123+
var queryBuilder =
124+
QueryBuilder<ParseObject>(ParseObject('TestObjectForApi'))
125+
..whereEqualTo('age', 26)
126+
..includeObject(['Day']);
126127

127128
var apiResponse = await queryBuilder.query();
128129

129130
if (apiResponse.success && apiResponse.result != null) {
130-
print("Result: ${((apiResponse.result as List<dynamic>).first as ParseObject).toString()}");
131+
print(
132+
"Result: ${((apiResponse.result as List<dynamic>).first as ParseObject).toString()}");
131133
} else {
132134
print("Result: ${apiResponse.error.message}");
133135
}
134136
}
135137

136138
initUser() async {
137-
138-
// All return type ParseUser except all
139-
var user = ParseUser("TestFlutter", "TestPassword123", "[email protected]");
139+
// All return type ParseUser except all
140+
var user =
141+
ParseUser("TestFlutter", "TestPassword123", "[email protected]");
140142
var response = await user.signUp();
141143
if (response.success) user = response.result;
142144

@@ -179,4 +181,25 @@ class _MyAppState extends State<MyApp> {
179181
var function = ParseCloudFunction('testFunction');
180182
function.execute();
181183
}
184+
185+
functionWithParameters() async {
186+
var function = ParseCloudFunction('testFunction');
187+
var params = {'plan': 'paid'};
188+
function.execute(parameters: params);
189+
}
190+
191+
Future getConfigs() async {
192+
var config = ParseConfig();
193+
var addResponse = await config.addConfig('TestConfig', 'testing');
194+
195+
if (addResponse.success) {
196+
print("Added a config");
197+
}
198+
199+
var getResponse = await config.getConfigs();
200+
201+
if (getResponse.success) {
202+
print("We have our configs.");
203+
}
204+
}
182205
}

lib/parse.dart

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@ library flutter_parse_sdk;
33
import 'dart:async';
44
import 'dart:convert';
55
import 'dart:io';
6-
76
import 'dart:typed_data';
8-
import 'package:path/path.dart' as path;
7+
98
import 'package:http/http.dart';
109
import 'package:meta/meta.dart';
10+
import 'package:path/path.dart' as path;
1111
import 'package:shared_preferences/shared_preferences.dart';
1212
import 'package:web_socket_channel/io.dart';
1313

@@ -27,8 +27,12 @@ part 'src/objects/parse_base.dart';
2727

2828
part 'src/objects/parse_clonable.dart';
2929

30+
part 'src/objects/parse_config.dart';
31+
3032
part 'src/objects/parse_error.dart';
3133

34+
part 'src/objects/parse_file.dart';
35+
3236
part 'src/objects/parse_function.dart';
3337

3438
part 'src/objects/parse_geo_point.dart';
@@ -39,18 +43,16 @@ part 'src/objects/parse_response.dart';
3943

4044
part 'src/objects/parse_user.dart';
4145

42-
part 'src/objects/parse_file.dart';
43-
4446
part 'src/utils/parse_decoder.dart';
4547

4648
part 'src/utils/parse_encoder.dart';
4749

50+
part 'src/utils/parse_file_extensions.dart';
51+
4852
part 'src/utils/parse_logger.dart';
4953

5054
part 'src/utils/parse_utils.dart';
5155

52-
part 'src/utils/parse_file_extensions.dart';
53-
5456
class Parse {
5557
ParseCoreData data;
5658
final ParseHTTPClient client = new ParseHTTPClient();
@@ -91,18 +93,20 @@ class Parse {
9193
bool hasParseBeenInitialised() => _hasBeenInitialised;
9294

9395
Future<ParseResponse> healthCheck() async {
94-
9596
ParseResponse parseResponse;
9697

9798
try {
98-
var response = await ParseHTTPClient().get("${ParseCoreData().serverUrl}$keyEndPointHealth");
99-
parseResponse = ParseResponse.handleResponse(this, response, returnAsResult: true);
99+
var response = await ParseHTTPClient()
100+
.get("${ParseCoreData().serverUrl}$keyEndPointHealth");
101+
parseResponse =
102+
ParseResponse.handleResponse(this, response, returnAsResult: true);
100103
} on Exception catch (e) {
101104
parseResponse = ParseResponse.handleException(e);
102105
}
103106

104107
if (ParseCoreData().debug) {
105-
logger(ParseCoreData().appName, keyClassMain, ParseApiRQ.healthCheck.toString(), parseResponse);
108+
logger(ParseCoreData().appName, keyClassMain,
109+
ParseApiRQ.healthCheck.toString(), parseResponse);
106110
}
107111

108112
return parseResponse;

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.9';
4+
const String keySdkVersion = '1.0.10';
55
const String keyLibraryName= 'Flutter Parse SDK';
66

77
// End Points

lib/src/enums/parse_enum_api_rq.dart

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,7 @@ enum ParseApiRQ {
2424
remove,
2525
removeAll,
2626
increment,
27-
decrement
27+
decrement,
28+
getConfigs,
29+
addConfig
2830
}

0 commit comments

Comments
 (0)