如果使用 Parse 主密钥,是否可以检查 beforeSave 方法内部?
Is it possible to check inside beforeSave method if Parse master key is used?
在我的应用程序中没有重复项很重要,所以我有以下代码:
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 仪表板也无法再更新此 class。我在想的是首先检查是否使用 masterkey 调用该方法,如果是,那么这个逻辑将被绕过并允许更新。 如果使用 Parse 主密钥,是否可以检查这个 beforeSave 方法?
要在 beforeSave() 内部检查是否使用了 maskerkey(或者如果您从仪表板发出请求)尝试在您的云代码中添加此条件:
if (request.master){
. . .//dosomething
}
在我的应用程序中没有重复项很重要,所以我有以下代码:
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 仪表板也无法再更新此 class。我在想的是首先检查是否使用 masterkey 调用该方法,如果是,那么这个逻辑将被绕过并允许更新。 如果使用 Parse 主密钥,是否可以检查这个 beforeSave 方法?
要在 beforeSave() 内部检查是否使用了 maskerkey(或者如果您从仪表板发出请求)尝试在您的云代码中添加此条件:
if (request.master){
. . .//dosomething
}