2016-05-19 13:38:16 -07:00
import { Parse } from 'parse/node' ;
2016-02-25 20:01:52 -08:00
import * as triggers from '../triggers' ;
2016-02-05 14:38:09 -05:00
function getClassName ( parseClass ) {
if ( parseClass && parseClass . className ) {
2017-09-18 15:01:07 -04:00
return parseClass . className ;
2016-02-05 14:38:09 -05:00
}
2017-09-18 15:01:07 -04:00
return parseClass ;
2016-02-05 14:38:09 -05:00
}
var ParseCloud = { } ;
ParseCloud . define = function ( functionName , handler , validationHandler ) {
triggers . addFunction ( functionName , handler , validationHandler , Parse . applicationId ) ;
} ;
2016-08-30 07:19:21 -04:00
ParseCloud . job = function ( functionName , handler ) {
triggers . addJob ( functionName , handler , Parse . applicationId ) ;
} ;
2016-02-05 14:38:09 -05:00
ParseCloud . beforeSave = function ( parseClass , handler ) {
var className = getClassName ( parseClass ) ;
2016-02-25 20:01:52 -08:00
triggers . addTrigger ( triggers . Types . beforeSave , className , handler , Parse . applicationId ) ;
2016-02-05 14:38:09 -05:00
} ;
ParseCloud . beforeDelete = function ( parseClass , handler ) {
var className = getClassName ( parseClass ) ;
2016-02-25 20:01:52 -08:00
triggers . addTrigger ( triggers . Types . beforeDelete , className , handler , Parse . applicationId ) ;
2016-02-05 14:38:09 -05:00
} ;
ParseCloud . afterSave = function ( parseClass , handler ) {
var className = getClassName ( parseClass ) ;
2016-02-25 20:01:52 -08:00
triggers . addTrigger ( triggers . Types . afterSave , className , handler , Parse . applicationId ) ;
2016-02-05 14:38:09 -05:00
} ;
ParseCloud . afterDelete = function ( parseClass , handler ) {
var className = getClassName ( parseClass ) ;
2016-02-25 20:01:52 -08:00
triggers . addTrigger ( triggers . Types . afterDelete , className , handler , Parse . applicationId ) ;
2016-02-05 14:38:09 -05:00
} ;
2016-05-19 13:38:16 -07:00
2016-09-17 16:52:35 -04:00
ParseCloud . beforeFind = function ( parseClass , handler ) {
var className = getClassName ( parseClass ) ;
triggers . addTrigger ( triggers . Types . beforeFind , className , handler , Parse . applicationId ) ;
} ;
2016-11-12 09:35:34 -08:00
ParseCloud . afterFind = function ( parseClass , handler ) {
const className = getClassName ( parseClass ) ;
triggers . addTrigger ( triggers . Types . afterFind , className , handler , Parse . applicationId ) ;
} ;
2017-09-15 17:20:51 -04:00
ParseCloud . onLiveQueryEvent = function ( handler ) {
triggers . addLiveQueryEventHandler ( handler , Parse . applicationId ) ;
} ;
2016-05-19 13:38:16 -07:00
ParseCloud . _removeAllHooks = ( ) => {
triggers . _unregisterAll ( ) ;
}
2016-12-07 18:35:22 -05:00
ParseCloud . useMasterKey = ( ) => {
// eslint-disable-next-line
2017-10-12 19:40:47 -07:00
console . warn ( "Parse.Cloud.useMasterKey is deprecated (and has no effect anymore) on parse-server, please refer to the cloud code migration notes: http://docs.parseplatform.org/parse-server/guide/#master-key-must-be-passed-explicitly" )
2016-12-07 18:35:22 -05:00
}
2016-02-05 14:38:09 -05:00
ParseCloud . httpRequest = require ( "./httpRequest" ) ;
module . exports = ParseCloud ;