2015-10-18 58 views
0

我想将用户添加到我的Parse.Role,但它不起作用。我看了一些例子,他们都很直截了当,但我无法做到。这里是我的代码:添加用户在Cloud代码中解析角色

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; 
      } 
     }) 
}); 

回答

1

这取决于你希望添加到角色中谁。谁提出的云请求的用户是通过请求对象提供...

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

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

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) { 

    } 
}); 
相关问题