此cloud code让朋友在Parse.com工作。
Parse.Cloud.define("friend", function(request, response) {
var userToFriend = new Parse.User();
userToFriend.id = request.params.friendId;
var roleName = "friendsOf_" + request.user.id;
var roleQuery = new Parse.Query("_Role");
roleQuery.equalTo("name", roleName);
roleQuery.first().then(function(role) {
role.getUsers().add(userToFriend);
return role.save();
}).then(function() {
response.success("Success!");
});
});
但是这在parse-server的云代码中不再有用,因为没有全局当前用户。
我相信我只需要处理会话令牌。但我不太清楚如何获得当前用户的身份。
例如,为了使上面的函数工作,我需要使用当前用户id构建roleName。 var roleName = "friendsOf_" + request.user.id;
我相信我需要使用sessionToken来过滤属于当前用户的查询。
var token = request.user.getSessionToken();
var query = new Parse.Query('???');
query.find({ sessionToken: token }).then( ... );
我可以这样做:
var token = request.user.getSessionToken();
var query = new Parse.Query('User');
query.find({ sessionToken: token }).then( function(user) {
var roleName = "friendsOf_" + user.id;
} );
任何建议都将不胜感激,