Skip to content

Commit 7a14695

Browse files
committed
Restrict triggers on _Session class.
1 parent b477d16 commit 7a14695

File tree

1 file changed

+15
-4
lines changed

1 file changed

+15
-4
lines changed

src/index.js

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -211,24 +211,35 @@ function addParseCloud() {
211211
afterDelete: {}
212212
};
213213

214+
function validateClassNameForTriggers(className) {
215+
const restrictedClassNames = [ '_Session' ];
216+
if (restrictedClassNames.indexOf(className) != -1) {
217+
throw `Triggers are not supported for ${className} class.`;
218+
}
219+
}
220+
214221
Parse.Cloud.define = function(functionName, handler, validationHandler) {
215222
Parse.Cloud.Functions[functionName] = handler;
216223
Parse.Cloud.Validators[functionName] = validationHandler;
217224
};
218225
Parse.Cloud.beforeSave = function(parseClass, handler) {
219-
var className = getClassName(parseClass);
226+
let className = getClassName(parseClass);
227+
validateClassNameForTriggers(className);
220228
Parse.Cloud.Triggers.beforeSave[className] = handler;
221229
};
222230
Parse.Cloud.beforeDelete = function(parseClass, handler) {
223-
var className = getClassName(parseClass);
231+
let className = getClassName(parseClass);
232+
validateClassNameForTriggers(className);
224233
Parse.Cloud.Triggers.beforeDelete[className] = handler;
225234
};
226235
Parse.Cloud.afterSave = function(parseClass, handler) {
227-
var className = getClassName(parseClass);
236+
let className = getClassName(parseClass);
237+
validateClassNameForTriggers(className);
228238
Parse.Cloud.Triggers.afterSave[className] = handler;
229239
};
230240
Parse.Cloud.afterDelete = function(parseClass, handler) {
231-
var className = getClassName(parseClass);
241+
let className = getClassName(parseClass);
242+
validateClassNameForTriggers(className);
232243
Parse.Cloud.Triggers.afterDelete[className] = handler;
233244
};
234245
Parse.Cloud.httpRequest = httpRequest;

0 commit comments

Comments
 (0)