Запись Parse Cloud Function (которая использует Parse Javascript SDK), и у меня возникли проблемы с проверкой, имеет ли текущий пользователь роль «Admin». Я просматриваю веб-представление класса Role и роль с именем «Admin» существует, если я нажимаю «View Relations» для пользователей, он показывает текущего пользователя. Я сомневаюсь, что это имеет значение, но «Admin» - единственная роль, и текущий пользователь является единственным пользователем с ролью. Наконец, роль «Администратор» имеет ACL общедоступного чтения, поэтому это также не должно вызывать никаких проблем.Проверьте, имеет ли пользователь роль - Parse Cloud Code
код выглядит следующим образом:
...
var queryRole = new Parse.Query(Parse.Role);
queryRole.equalTo('name', 'Admin');
queryRole.equalTo("users", Parse.User.current());
queryRole.first({
success: function(result) { // Role Object
var role = result;
role ? authorized = true : console.log('Shiet, user not Admin');
},
error: function(error) {
console.log("Bruh, queryRole error");
}
})
console.log('After test: Auth = ' + authorized);
if (!authorized) {
response.error("You ain't no admin, measly user");
return;
}
...
Это приводит к следующим в журнале:
Перед испытанием: Auth = ложь
После теста: Auth = ложь
Вы должны использовать обещание. Вы читаете значение до завершения запроса. –
Да, я понял, что из кода Брайана, над которым работал, я предложил изменить, которое включало больше, чем «дать этот снимок», но получило «отказ». –