1
0
Fork 0
mirror of synced 2024-09-21 20:01:32 +12:00
budibase/packages/server/src/events/index.js

32 lines
824 B
JavaScript
Raw Normal View History

const EventEmitter = require("events").EventEmitter
2020-06-01 04:12:52 +12:00
const CouchDB = require("../db");
2020-05-25 09:54:08 +12:00
2020-06-01 04:12:52 +12:00
const emitter = new EventEmitter()
function determineWorkflowsToTrigger(instanceId, event) {
const db = new CouchDB(instanceId);
const workflowsToTrigger = await db.query("database/by_workflow_trigger", {
key: [event]
})
return workflowsToTrigger.rows;
}
emitter.on("record:save", async function(event) {
const workflowsToTrigger = await determineWorkflowsToTrigger(instanceId, "record:save")
for (let workflow of workflowsToTrigger) {
// SERVER SIDE STUFF!!
}
})
emitter.on("record:delete", function(event) {
const workflowsToTrigger = await determineWorkflowsToTrigger(instanceId, "record:delete")
for (let workflow of workflowsToTrigger) {
// SERVER SIDE STUFF!!
}
})
module.exports = emitter