@openinc/parse-server-opendash
Version:
Parse Server Cloud Code for open.INC Stack.
35 lines (34 loc) • 1.8 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.init = init;
const bree_1 = __importDefault(require("bree"));
const __1 = require("..");
const cron_1 = __importDefault(require("../features/cron"));
const initScheduling_1 = require("../features/openservice/schedules/initScheduling");
const types_1 = require("../types");
bree_1.default.extend(require("@breejs/ts-worker"));
async function init() {
(0, __1.beforeSaveHook)(types_1.Maintenance_Schedule_Template, async (request) => {
const { object, original, user } = request;
await (0, __1.defaultHandler)(request);
await (0, __1.defaultAclHandler)(request);
});
(0, __1.afterSaveHook)(types_1.Maintenance_Schedule_Template, async (request) => {
const { object, original, user } = request;
await (0, initScheduling_1.addJobToBree)([object]);
});
(0, __1.beforeDeleteHook)(types_1.Maintenance_Schedule_Template, async (request) => {
const { object, original, user } = request;
//Check if a prenotification is scheduled
const notifyBeforeDue = object.get("notifyBeforeDue");
// If the notifyBeforeDue field is set, we will schedule a job to run before the due date
if (notifyBeforeDue && notifyBeforeDue.value > 0) {
await cron_1.default.removeJob(cron_1.default.constructJobName(object.id, "Maintenance_Schedule_Notification_Before_Due"));
}
await cron_1.default.removeJob(cron_1.default.constructJobName(object.id, "Maintenance_Schedule"));
});
(0, __1.afterDeleteHook)(types_1.Maintenance_Schedule_Template, async (request) => { });
}