2015-10-18 5 views
0

Я хочу добавить пользователей в свой 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; 
      } 
     }) 
}); 

ответ

1

Это зависит от того, кто вы желаете добавили к роли. Пользователь, который сделал запрос на облако доступен через объект запроса ...

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

В противном случае, вы можете получить пользователь с помощью запроса, как предполагает @RobertRowntree. (хотя я бы предложил сделать это с обещаниями).

1

делает то, что вы хотите с 2-запросами (Role, пользователи) ...

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

    } 
}); 
Смежные вопросы