Skip to content

Repository files navigation

Parse Cloud Classes

npmlicensenpmsemantic-releasecode style: prettier

Easily extend parse cloud triggers behaviour

An easy way to extend parse cloud triggers behaviour

Installation

npm i parse-cloud-classes

Example

A working example can be found here

Supported versions

  • parse-server >= 3.0.0
  • node >= 6.4

Basic Usage

//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},])

Development setup

npm install && npm run dev

Contribution

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/fooBar), or hotfix branch (git checkout -b hotfix/fooBar)
  3. Commit your changes (npm run cz)
  4. Push to the feature branch (git push origin feature/fooBar), or hotfix branch (git push origin hotfix/fooBar)
  5. Create a new Pull Request

License

This project is licensed under the MIT License, See LICENSE for more information

About

Easily extend parse cloud triggers behaviour

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages