Skip to content

Commit 2bc68ce

Browse files
committed
Override object state from User.logIn and decode
1 parent d2b20ce commit 2bc68ce

File tree

4 files changed

+6
-5
lines changed

4 files changed

+6
-5
lines changed

src/Cloud.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,6 @@ const DefaultController = {
121121
if (typeof res === 'object' && Object.keys(res).length > 0 && !res.hasOwnProperty('result')) {
122122
throw new ParseError(ParseError.INVALID_JSON, 'The server returned an invalid response.');
123123
}
124-
ParseObject._clearAllState();
125124
const decoded = decode(res);
126125
if (decoded && decoded.hasOwnProperty('result')) {
127126
return Promise.resolve(decoded.result);

src/ParseObject.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -347,10 +347,13 @@ class ParseObject {
347347
};
348348
}
349349

350-
_finishFetch(serverData: AttributeMap) {
350+
_finishFetch(serverData: AttributeMap, override?: boolean) {
351351
if (!this.id && serverData.objectId) {
352352
this.id = serverData.objectId;
353353
}
354+
if (override) {
355+
this._clearServerData();
356+
}
354357
const stateController = CoreManager.getObjectStateController();
355358
stateController.initializeState(this._getStateIdentifier());
356359
const decoded = {};

src/ParseUser.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1088,8 +1088,7 @@ const DefaultController = {
10881088
stateController.setPendingOp(user._getStateIdentifier(), 'username', undefined);
10891089
stateController.setPendingOp(user._getStateIdentifier(), 'password', undefined);
10901090
response.password = undefined;
1091-
user._clearServerData();
1092-
user._finishFetch(response);
1091+
user._finishFetch(response, true);
10931092
if (!canUseCurrentUser) {
10941093
// We can't set the current user, so just return the one we logged in
10951094
return Promise.resolve(user);

src/decode.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ export default function decode(value: any): any {
3434
return ParseObject.fromJSON(value);
3535
}
3636
if (value.__type === 'Object' && value.className) {
37-
return ParseObject.fromJSON(value);
37+
return ParseObject.fromJSON(value, true);
3838
}
3939
if (value.__type === 'Relation') {
4040
// The parent and key fields will be populated by the parent

0 commit comments

Comments
 (0)