From 766d8ac8fc40dabbef472a336068258493732918 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Thu, 10 Sep 2020 11:29:35 +0100 Subject: [PATCH] Add all workflow blocks to server and remove concept of workflow environment --- .../src/api/controllers/workflow/actions/DELAY.js | 5 +++++ .../src/api/controllers/workflow/actions/FILTER.js | 10 ++++++++++ packages/server/src/events/workflow.js | 2 -- 3 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 packages/server/src/api/controllers/workflow/actions/DELAY.js create mode 100644 packages/server/src/api/controllers/workflow/actions/FILTER.js diff --git a/packages/server/src/api/controllers/workflow/actions/DELAY.js b/packages/server/src/api/controllers/workflow/actions/DELAY.js new file mode 100644 index 0000000000..97c70db8ae --- /dev/null +++ b/packages/server/src/api/controllers/workflow/actions/DELAY.js @@ -0,0 +1,5 @@ +const wait = ms => new Promise(resolve => setTimeout(resolve, ms)) + +module.exports = async function delay({ args }) { + await wait(args.time) +} diff --git a/packages/server/src/api/controllers/workflow/actions/FILTER.js b/packages/server/src/api/controllers/workflow/actions/FILTER.js new file mode 100644 index 0000000000..94b7d8de81 --- /dev/null +++ b/packages/server/src/api/controllers/workflow/actions/FILTER.js @@ -0,0 +1,10 @@ +module.exports = async function filter({ args }) { + const { field, condition, value } = args + switch (condition) { + case "equals": + if (field !== value) return + break + default: + return + } +} diff --git a/packages/server/src/events/workflow.js b/packages/server/src/events/workflow.js index a997530241..d76f8e0e24 100644 --- a/packages/server/src/events/workflow.js +++ b/packages/server/src/events/workflow.js @@ -37,8 +37,6 @@ exports.serverStrategy = () => ({ }, run: async function(workflow, context) { for (let block of workflow.steps) { - if (block.type === "CLIENT") continue - const action = require(`../api/controllers/workflow/actions/${block.actionId}`) const response = await action({ args: this.bindContextArgs(block.args),