Adds jobs endpoint protected by masterKey (#2560)
* Adds jobs endpoint protected by masterKey * Adds connection timeout for 15 minutes in jobs * Refactors pushStatusHandler into StatusHandler * Adds reporting of _JobStatus * Only accept strings as messages * Adds test for masterKey basic auth * Adds CloudCodeRouter for cloud_code endpoint of job status, enable Jobs feature on dashboard * xit racing test
This commit is contained in:
@@ -13,6 +13,7 @@ export const Types = {
|
||||
const baseStore = function() {
|
||||
let Validators = {};
|
||||
let Functions = {};
|
||||
let Jobs = {};
|
||||
let Triggers = Object.keys(Types).reduce(function(base, key){
|
||||
base[key] = {};
|
||||
return base;
|
||||
@@ -20,6 +21,7 @@ const baseStore = function() {
|
||||
|
||||
return Object.freeze({
|
||||
Functions,
|
||||
Jobs,
|
||||
Validators,
|
||||
Triggers
|
||||
});
|
||||
@@ -34,6 +36,12 @@ export function addFunction(functionName, handler, validationHandler, applicatio
|
||||
_triggerStore[applicationId].Validators[functionName] = validationHandler;
|
||||
}
|
||||
|
||||
export function addJob(jobName, handler, applicationId) {
|
||||
applicationId = applicationId || Parse.applicationId;
|
||||
_triggerStore[applicationId] = _triggerStore[applicationId] || baseStore();
|
||||
_triggerStore[applicationId].Jobs[jobName] = handler;
|
||||
}
|
||||
|
||||
export function addTrigger(type, className, handler, applicationId) {
|
||||
applicationId = applicationId || Parse.applicationId;
|
||||
_triggerStore[applicationId] = _triggerStore[applicationId] || baseStore();
|
||||
@@ -45,6 +53,11 @@ export function removeFunction(functionName, applicationId) {
|
||||
delete _triggerStore[applicationId].Functions[functionName]
|
||||
}
|
||||
|
||||
export function removeJob(jobName, applicationId) {
|
||||
applicationId = applicationId || Parse.applicationId;
|
||||
delete _triggerStore[applicationId].Jobs[jobName]
|
||||
}
|
||||
|
||||
export function removeTrigger(type, className, applicationId) {
|
||||
applicationId = applicationId || Parse.applicationId;
|
||||
delete _triggerStore[applicationId].Triggers[type][className]
|
||||
@@ -89,6 +102,23 @@ export function getFunction(functionName, applicationId) {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
export function getJob(jobName, applicationId) {
|
||||
var manager = _triggerStore[applicationId];
|
||||
if (manager && manager.Jobs) {
|
||||
return manager.Jobs[jobName];
|
||||
};
|
||||
return undefined;
|
||||
}
|
||||
|
||||
export function getJobs(applicationId) {
|
||||
var manager = _triggerStore[applicationId];
|
||||
if (manager && manager.Jobs) {
|
||||
return manager.Jobs;
|
||||
};
|
||||
return undefined;
|
||||
}
|
||||
|
||||
|
||||
export function getValidator(functionName, applicationId) {
|
||||
var manager = _triggerStore[applicationId];
|
||||
if (manager && manager.Validators) {
|
||||
|
||||
Reference in New Issue
Block a user