diff --git a/CHANGELOG.md b/CHANGELOG.md index 1b6e132ee3..50b9045a72 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -131,6 +131,7 @@ ___ - Add building Docker image as CI check (Manuel Trezza) [#7332](https://github.com/parse-community/parse-server/pull/7332) - Add NPM package-lock version check to CI (Manuel Trezza) [#7333](https://github.com/parse-community/parse-server/pull/7333) - Fix incorrect LiveQuery events triggered for multiple subscriptions on the same class with different events [#7341](https://github.com/parse-community/parse-server/pull/7341) +- Add wildcard support for classname in cloud triggers [#7360](https://github.com/parse-community/parse-server/pull/7360) ___ ## 4.5.0 [Full Changelog](https://github.com/parse-community/parse-server/compare/4.4.0...4.5.0) diff --git a/spec/ParseObject.spec.js b/spec/ParseObject.spec.js index 31855f9533..3152a052e0 100644 --- a/spec/ParseObject.spec.js +++ b/spec/ParseObject.spec.js @@ -2055,4 +2055,18 @@ describe('Parse.Object testing', () => { const object = new Parse.Object('CloudCodeIsNew'); await object.save(); }); + + it('should run wildcard trigger for every class', async () => { + Parse.Cloud.beforeSave('*', req => { + req.object.set("newField",true); + return req.object; + }); + + Parse.Cloud.afterSave('*', req => { + expect(req.object.get("newField")).toBe(true); + }); + + const object = new Parse.Object('WildcardClass'); + await object.save(); + }); }); diff --git a/src/triggers.js b/src/triggers.js index cdd4353128..507ededc33 100644 --- a/src/triggers.js +++ b/src/triggers.js @@ -165,7 +165,11 @@ export function getTrigger(className, triggerType, applicationId) { if (!applicationId) { throw 'Missing ApplicationID'; } - return get(Category.Triggers, `${triggerType}.${className}`, applicationId); + const trigger = get(Category.Triggers, `${triggerType}.${className}`, applicationId); + if (trigger) { + return trigger; + } + return get(Category.Triggers, `${triggerType}.*`, applicationId); } export async function runTrigger(trigger, name, request, auth) {