添加用户以在云代码中解析角色

时间:2015-10-18 10:31:33

标签: javascript parse-platform roles

我想将用户添加到我的Parse.Role但它无法正常工作。我看了很多例子,看起来很简单,但是我无法做到。这是我的代码:

Parse.Cloud.define("activateVendor", function(request, response){
     var query = new Parse.Query(Parse.Role);
     query.equalTo("name", "vendor");
     query.first ({
          success: function(role) {
               role.getUsers().add(request.params);//request.params is the parse object, should I be using request.params.id?
               role.save();
          },
          error: function(error) {
               throw "Got an error " + error.code + " : " + error.message;
          }
      })
});

2 个答案:

答案 0 :(得分:1)

通过2个查询(角色,用户)做你想要的......

  var qu = new Parse.Query(Parse.User);
  var qr = new Parse.Query(Parse.Role);
  Parse.Cloud.useMasterKey();
  qr.get(roleId, {
  success: function(role) {
      _role = role;
      qu.get(userId, {
        success: function(user) {
            _role.getACL().setRoleReadAccess(_role, true);
            _role.getUsers().add(user);
            _role.save();
            response.success(_role.toJSON());
        },
        error: function(object, error) {

        }
      });
  },
  error: function(object, error) {

  }
});

答案 1 :(得分:1)

这取决于您希望添加到角色的人。发出云请求的用户可通过请求对象获得...

role.getUsers().add(request.user);

否则,您可以通过@RobertRowntree建议的查询来获取用户。 (不过,我建议用承诺来做)。