Skip to content

Commit 26fc639

Browse files
authored
Merge pull request #1 from parse-community/release/1.0.25
Rebase
2 parents a797ab8 + a2cc66c commit 26fc639

File tree

2 files changed

+23
-11
lines changed

2 files changed

+23
-11
lines changed

lib/src/network/parse_live_query.dart

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,7 @@ class Client with WidgetsBindingObserver {
5050
} else if (_liveQueryURL.contains('http')) {
5151
_liveQueryURL = _liveQueryURL.replaceAll('http', 'ws');
5252
}
53-
Connectivity()
54-
.onConnectivityChanged
53+
Connectivity().onConnectivityChanged
5554
.listen((ConnectivityResult connectivityResult) {
5655
print('onConnectivityChanged:$connectivityResult');
5756
if (connectivityResult != ConnectivityResult.none) {

lib/src/objects/parse_user.dart

Lines changed: 22 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -83,33 +83,46 @@ class ParseUser extends ParseObject implements ParseCloneable {
8383
///
8484
/// Current user is stored locally, but in case of a server update [bool]
8585
/// fromServer can be called and an updated version of the [User] object will be
86-
/// returned
87-
static Future<ParseResponse> getCurrentUserFromServer(
88-
{String token, bool debug, ParseHTTPClient client}) async {
86+
/// returned.
87+
///
88+
/// NOTE: If using custom ParseUserObject create instance and user [getUpdatedUser]
89+
static Future<ParseResponse> getCurrentUserFromServer(String token,
90+
{bool debug, ParseHTTPClient client}) async {
91+
final ParseUser user = _getEmptyUser();
92+
user.sessionToken = token;
93+
return user.getUpdatedUser(debug: debug, client: client);
94+
}
95+
96+
/// Get the updated version of the user from the server
97+
///
98+
/// Uses token to get the latest version of the user. Prefer this to [getCurrentUserFromServer]
99+
/// if using custom ParseUser object
100+
Future<ParseResponse> getUpdatedUser(
101+
{bool debug, ParseHTTPClient client}) async {
89102
final bool _debug = isDebugEnabled(objectLevelDebug: debug);
90103
final ParseHTTPClient _client = client ??
91104
ParseHTTPClient(
92105
sendSessionId: true,
93106
securityContext: ParseCoreData().securityContext);
94107

95108
// We can't get the current user and session without a sessionId
96-
if ((ParseCoreData().sessionId == null) && (token == null)) {
109+
if ((ParseCoreData().sessionId == null) && (sessionToken == null)) {
97110
return null;
98111
}
99112

100113
final Map<String, String> headers = <String, String>{};
101-
if (token != null) {
102-
headers[keyHeaderSessionToken] = token;
114+
if (sessionToken != null) {
115+
headers[keyHeaderSessionToken] = sessionToken;
103116
}
104117

105118
try {
106119
final Uri url = getSanitisedUri(_client, '$keyEndPointUserName');
107120
final Response response = await _client.get(url, headers: headers);
108-
return await _handleResponse(_getEmptyUser(), response,
109-
ParseApiRQ.currentUser, _debug, _getEmptyUser().parseClassName);
121+
return await _handleResponse(this, response,
122+
ParseApiRQ.currentUser, _debug, this.parseClassName);
110123
} on Exception catch (e) {
111124
return handleException(
112-
e, ParseApiRQ.currentUser, _debug, _getEmptyUser().parseClassName);
125+
e, ParseApiRQ.currentUser, _debug, parseClassName);
113126
}
114127
}
115128

0 commit comments

Comments
 (0)