parse.com javascript app。如何将其他用户角色更新为Admin

时间:2015-07-17 15:50:59

标签: javascript parse-platform

我已经看到这可以使用云代码完成。 但我不知道如何在云代码中创建一个函数并使用Javascript中的参数执行/调用它。这可能吗?

1 个答案:

答案 0 :(得分:1)

有可能。要创建用户和管理员,必须将该用户添加到admin角色的用户。这是一个云功能......

Parse.Cloud.define("setUserAdmin", function(request, response) {
    var user;
    var userQuery = new Parse.Query(Parse.User);
    return userQuery.get(request.userId).then(function(result) {
        user = result;
        var roleQuery = new Parse.Query(Parse.Role);
        roleQuery.equalTo("name", "admin");
        // here's our defense against mischief: find the admin role
        // only if the requesting user is an admin
        roleQuery.equalTo("users", request.user);
        return roleQuery.first();
    }).then(function(role) {
        if (!role) {
            return Parse.Promise.error("only admins can add admins");
        }
        Parse.Cloud.useMasterKey();
        var relation = role.relation("users");
        relation.add(user);
        return role.save();
    }).then(function(result) {
        response.success(result);
    }, function(error) {
        response.error(error);
    });
});

从JS sdk调用它......

var params = { userId: someUserId };
return Parse.Cloud.run("setUserAdmin", params).then(function(result) {
    // handle success
}, function(error) {
    // handle error
});