Restrict triggers on _Session class.

This commit is contained in:
Nikita Lutsenko
2016-02-24 01:23:24 -08:00
parent b477d16992
commit 7a14695da8

View File

@@ -211,24 +211,35 @@ function addParseCloud() {
afterDelete: {}
};
function validateClassNameForTriggers(className) {
const restrictedClassNames = [ '_Session' ];
if (restrictedClassNames.indexOf(className) != -1) {
throw `Triggers are not supported for ${className} class.`;
}
}
Parse.Cloud.define = function(functionName, handler, validationHandler) {
Parse.Cloud.Functions[functionName] = handler;
Parse.Cloud.Validators[functionName] = validationHandler;
};
Parse.Cloud.beforeSave = function(parseClass, handler) {
var className = getClassName(parseClass);
let className = getClassName(parseClass);
validateClassNameForTriggers(className);
Parse.Cloud.Triggers.beforeSave[className] = handler;
};
Parse.Cloud.beforeDelete = function(parseClass, handler) {
var className = getClassName(parseClass);
let className = getClassName(parseClass);
validateClassNameForTriggers(className);
Parse.Cloud.Triggers.beforeDelete[className] = handler;
};
Parse.Cloud.afterSave = function(parseClass, handler) {
var className = getClassName(parseClass);
let className = getClassName(parseClass);
validateClassNameForTriggers(className);
Parse.Cloud.Triggers.afterSave[className] = handler;
};
Parse.Cloud.afterDelete = function(parseClass, handler) {
var className = getClassName(parseClass);
let className = getClassName(parseClass);
validateClassNameForTriggers(className);
Parse.Cloud.Triggers.afterDelete[className] = handler;
};
Parse.Cloud.httpRequest = httpRequest;