@@ -30,6 +30,11 @@ class ParseUser extends ParseObject implements ParseCloneable {
30
30
set emailAddress (String emailAddress) =>
31
31
set <String >(keyVarEmail, emailAddress);
32
32
33
+ String get sessionToken => super .get <String >(keyVarSessionToken);
34
+
35
+ set sessionToken (String sessionToken) =>
36
+ set <String >(keyVarSessionToken, sessionToken);
37
+
33
38
/// Creates an instance of ParseUser
34
39
///
35
40
/// Users can set whether debug should be set on this class with a [bool] ,
@@ -41,7 +46,7 @@ class ParseUser extends ParseObject implements ParseCloneable {
41
46
/// is required as well to create a full new user object on ParseServer. Only
42
47
/// username and password is required to login
43
48
ParseUser (String username, String password, String emailAddress,
44
- {bool debug, ParseHTTPClient client})
49
+ {String sessionToken, bool debug, ParseHTTPClient client})
45
50
: super (keyClassUser) {
46
51
_debug = isDebugEnabled (objectLevelDebug: debug);
47
52
_client = client ??
@@ -52,6 +57,7 @@ class ParseUser extends ParseObject implements ParseCloneable {
52
57
this .username = username;
53
58
this .password = password;
54
59
this .emailAddress = emailAddress;
60
+ this .sessionToken = sessionToken;
55
61
}
56
62
57
63
ParseUser .forQuery () : super (keyClassUser);
@@ -105,7 +111,7 @@ class ParseUser extends ParseObject implements ParseCloneable {
105
111
/// Current user is stored locally, but in case of a server update [bool]
106
112
/// fromServer can be called and an updated version of the [User] object will be
107
113
/// returned
108
- static currentUser () {
114
+ static Future < ParseUser > currentUser () {
109
115
return _getUserFromLocalStore ();
110
116
}
111
117
@@ -207,6 +213,7 @@ class ParseUser extends ParseObject implements ParseCloneable {
207
213
final String sessionId = _client.data.sessionId;
208
214
209
215
_client.data.sessionId = null ;
216
+ ParseCoreData ().setSessionId (null );
210
217
211
218
if (deleteLocalUserData == true ) {
212
219
unpin (key: keyParseStoreUser);
@@ -366,7 +373,8 @@ class ParseUser extends ParseObject implements ParseCloneable {
366
373
Map <String , dynamic > responseData = JsonDecoder ().convert (response.body);
367
374
if (responseData.containsKey (keyVarObjectId)) {
368
375
parseResponse.result.fromJson (responseData);
369
- ParseCoreData ().setSessionId (responseData[keyParamSessionToken]);
376
+ user.sessionToken = responseData[keyParamSessionToken];
377
+ ParseCoreData ().setSessionId (user.sessionToken);
370
378
}
371
379
372
380
if (type == ParseApiRQ .getAll || type == ParseApiRQ .destroy) {
0 commit comments