3

When updating current user unique fields, not getting proper exception message from parse. If i update username with existing username and send update request (save) using parse it is showing correctly.If now i reset the username back and give the existing email and update , it is returning username exists exception message instead of returning email exists message.

public void updateUserData(UserModel userModel) throws ParseException {       
 ParseUser user = ParseUser.getCurrentUser();
    if (user != null && userModel != null){
        if(userModel.getFirstName() != null) {
            user.put(Constants.FIRST_NAME, userModel.getFirstName());
        }
        if(userModel.getLastName() != null) {
            user.put(Constants.LAST_NAME, userModel.getLastName());
        }
        if(userModel.getUsername() != null) {
            user.setUsername(userModel.getUsername());
        }

        if(userModel.getEmail() != null) {
            user.setEmail(userModel.getEmail());
        }

        if (userModel.getPassword() != null) {
            user.setPassword(userModel.getPassword());
        }
        if (userModel.getAvatar() != null) {
            ParseFile file = new ParseFile(System.currentTimeMillis() + ".jpg", userModel.getAvatar());
            file.save();
            user.put("imageFile", file);
        }
        user.save();
    }
}

Thanks in advance, Please post if any have faced such issues.

1 Answer 1

1

change this code.

if (userModel.getAvatar() != null) {
            final ParseFile file = new ParseFile(System.currentTimeMillis() + ".jpg", userModel.getAvatar());
            file.saveInBackground(new SaveCallback() {

                @Override
                public void done(ParseException e) {
                    // TODO Auto-generated method stub
                    if (e == null) {
                        // success
                        user.put("imageFile", file);

                        // exit from one thered
                        UpdateDatabase(user);
                    } else {
                        // fail
                        e.getMessage();
                    }
                }
            });

        }

then this code copy & paste.

    protected void UpdateDatabase(ParseUser user) {
    // TODO Auto-generated method stub

    // before update parse table then set user permisson like read & write
    user.saveInBackground(new SaveCallback() {

        @Override
        public void done(ParseException e) {
            // TODO Auto-generated method stub
            if (e == null) {
                // success
            } else {
                // fail
                e.getMessage();
            }
        }
    });
}
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.