Easily extend parse cloud triggers behaviour
An easy way to extend parse cloud triggers behaviour
npm i parse-cloud-classesA working example can be found here
- parse-server >= 3.0.0
- node >= 6.4
//parse cloud code fileconstParseClass=require('parse-cloud-classes')constJoi=require('joi')//validation serviceconstvalidation=asyncreq=>{const{ object }=reqconst{ error }=Joi.validate(object.toJSON(),validationSchema)if(error)throwerror.details[0].messagereturnreq.object}//sendWelcomeMail serviceconstsendWelcomeMail=asyncreq=>{const{ object }=reqif(!object.existed()){//send welcome email here}}//analytics serviceanalytics={afterDelete: asyncreq=>{constanalytic=newParse.Object('Analytic')analytic.set('event','deleted')analytic.set('object',{className: req.object.className,id: req.object.id,})awaitanalytic.save({},{userMasterKey: true})},afterSave: asyncreq=>{constanalytic=newParse.Object('Analytic')analytic.set('event','created')analytic.set('object',{className: req.object.className,id: req.object.id,})awaitanalytic.save({},{userMasterKey: true})},}newParseClass(Parse.User).beforeSave([validation]).afterSave([analytics.afterSave,sendWelcomeMail]).afterDelete([analytics.afterDelete]).beforeDelete([asyncreq=>{if(!req.master)throw'unauthorized'returnreq.object},])npm install && npm run dev- Fork the project
- Create your feature branch (
git checkout -b feature/fooBar), or hotfix branch (git checkout -b hotfix/fooBar) - Commit your changes (
npm run cz) - Push to the feature branch (
git push origin feature/fooBar), or hotfix branch (git push origin hotfix/fooBar) - Create a new Pull Request
This project is licensed under the MIT License, See LICENSE for more information