@@ -11,7 +11,7 @@ class ParseUser extends ParseObject implements ParseCloneable {
11
11
/// Requires [String] username, [String] password. [String] email address
12
12
/// is required as well to create a full new user object on ParseServer. Only
13
13
/// username and password is required to login
14
- ParseUser (String username, this . password, String emailAddress,
14
+ ParseUser (String username, String password, String emailAddress,
15
15
{String sessionToken, bool debug, ParseHTTPClient client})
16
16
: super (keyClassUser) {
17
17
_debug = isDebugEnabled (objectLevelDebug: debug);
@@ -22,6 +22,7 @@ class ParseUser extends ParseObject implements ParseCloneable {
22
22
23
23
this .username = username;
24
24
this .emailAddress = emailAddress;
25
+ this .password = password;
25
26
this .sessionToken = sessionToken;
26
27
}
27
28
@@ -39,7 +40,16 @@ class ParseUser extends ParseObject implements ParseCloneable {
39
40
static const String keyEmailAddress = 'email' ;
40
41
static const String path = '$keyEndPointClasses $keyClassUser ' ;
41
42
42
- String password;
43
+ String _password;
44
+
45
+ String get password => _password;
46
+
47
+ set password (String password) {
48
+ if (_password != password) {
49
+ _password = password;
50
+ if (password != null ) _unsavedChanges[keyVarPassword] = password;
51
+ }
52
+ }
43
53
44
54
Map <String , dynamic > get acl => super .get <Map <String , dynamic >>(keyVarAcl);
45
55
@@ -157,10 +167,8 @@ class ParseUser extends ParseObject implements ParseCloneable {
157
167
}
158
168
}
159
169
160
- final Map <String , dynamic > bodyData = _getObjectData ();
161
- bodyData[keyVarPassword] = password;
162
170
final Uri url = getSanitisedUri (_client, '$path ' );
163
- final String body = json.encode (bodyData );
171
+ final String body = json.encode (toJson (forApiRQ : true ) );
164
172
_saveChanges ();
165
173
final String installationId = await _getInstallationId ();
166
174
final Response <String > response =
0 commit comments