2015-10-18 57 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) { 

    } 
}); 
相關問題