【问题标题】:Adding Users to Parse Role in Cloud Code将用户添加到云代码中的解析角色
【发布时间】:2016-01-16 18:22:01
【问题描述】:

我想将用户添加到我的 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;
          }
      })
});

【问题讨论】:

    标签: javascript parse-platform roles


    【解决方案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) {
    
      }
    });
    

    【讨论】:

      【解决方案2】:

      这取决于您希望将谁添加到该角色中。发出云请求的用户可通过请求对象...

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-05-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多