如果使用Parse主密钥,是否可以在beforeSave方法内部检查?

时间:2016-12-18 22:45:39

标签: javascript node.js parse-platform parse-server

在我的应用中重要的是没有重复,所以我有这个代码:

Parse.Cloud.beforeSave("Thing", function(request, response) {
    var newEntryThing = request.object;
    var thingId= newEntryThing.get("thingId");
    var queryThings= new Parse.Query("Thing");
    queryThings.equalTo("thingId", thingId);

    queryThings.first({
        success: function(results) {
            if(results) {
                response.error({errorCode:400,errorMsg:"Thing already exist"});
            } else {
                response.success();
            }
        },
        error: function(error) {
            response.success();
        }
    });
});

到目前为止,这可以用于此目的,问题是由于逻辑,即使Parse仪表板也不能再更新此类。我想的是首先检查是否使用masterkey调用方法,如果是,则会绕过此逻辑并允许更新。 如果使用Parse主密钥,是否可以检查此beforeSave方法?

1 个答案:

答案 0 :(得分:4)

要检查beforeSave()内部是否使用了maskerkey(或者如果您是从仪表板发出请求),请尝试在云代码中添加此条件:

if (request.master){
    . . .//dosomething
}