У меня возникли проблемы с использованием Parse Server JS SDK для редактирования и сохранения пользователя.
Я вхожу в систему, вхожу в систему и получаю пользователя просто отлично, я могу вызывать без исключения user.set
и добавлять/редактировать любое поле, которое хочу, но когда я пытаюсь сохранить, даже при использовании masterKey, я получаю Error 206: Can t modify user <id>
.
Я также пытался использовать save для прямой установки полей, тот же результат.
Интересно, что в БД схема пользователя обновляется новыми полями и типами.
Вот моя функция обновления:
function login(user, callback) {
let username = user.email,
password = user.password;
Parse.User.logIn(username, password).then(
(user) => {
if(!user) {
callback('No user found');
} else {
callback(null, user);
}
},
(error) => {
callback(error.message, null);
}
);
}
function update(user, callback) {
login(user, (error, user) => {
if(error) {
callback('Can t find user');
} else {
console.log('save');
console.log('Session token: ' + user.getSessionToken());
console.log('Master key: ' + Parse.masterKey);
user.set('user', 'set');
user.save({key: 'test'}, {useMasterKey: true}).then(
(test) => {
console.log('OK - ' + test);
callback();
}, (err) => {
console.log('ERR - ' + require('util').inspect(err));
callback(error.message);
}
);
}
});
}
И пример ошибки:
update
save
Session token: r:c29b35a48d144f146838638f6cbed091
Master key: <my master key>
ERR- ParseError { code: 206, message: 'cannot modify user NPubttVAYv' }
Как правильно сохранить отредактированного пользователя?