android - How to undo a ParseUser.setPassword() call? -


i letting user change credentials. types new username, email , password , go like:

parseuser user = parseuser.getcurrentuser(); user.setusername("my new name"); user.setemail(email); user.setpassword("my new pw"); user.saveinbackground(...); 

so what? save() call might fail, big number of reasons (example: username taken else). can tell in case none of above fields gets updated, fair: show error, user knows went wrong.

things complicated if notice that, after parseexception, user above keeps dirty fields, couldn't saved server. i.e.

//saveinbackground fails //... user.getusername().equals("my new name") // true! 

issue

now, able these fields right values calling user.fetch(), doesn't work password field.

this particularly unwanted, because future call save() or such (which might not fail because maybe it's different call) update password too! i.e.

//later parseuser user = parseuser.getcurrentuser(); user.put("stuff"); user.save(); 

this won't put "stuff", also change password "my new pw".. without user ever knowing.

is there way reset local password field, other fetch() doesn't work? know save username, email , password 3 different queries not possible solution case.

a workaround could use

+ becomeinbackground: 

on pfuser class (with pfuser.currentuser().sessiontoken token) when save fails, still risk becomeinbackground fail. @ least prevent cases happend if becomeinbackground undoes setpassword, , accepts current sessiontoken parameter, haven't tested that


Comments

Popular posts from this blog

c# - Validate object ID from GET to POST -

node.js - Custom Model Validator SailsJS -

php - Find a regex to take part of Email -