Merge branch 'contextual-workflows' of github.com:Budibase/budibase into contextual-workflows

This commit is contained in:
Andrew Kingston 2020-09-18 14:34:49 +01:00
commit 41aeec0c05
2 changed files with 25 additions and 3 deletions

View File

@ -10,13 +10,34 @@ const triggers = require("../../workflows/triggers")
* * * *
*************************/ *************************/
function cleanWorkflowInputs(workflow) {
if (workflow == null) {
return workflow
}
let steps = workflow.definition.steps
let trigger = workflow.definition.trigger
let allSteps = [...steps, trigger]
for (let step of allSteps) {
if (step == null) {
continue
}
for (let inputName of Object.keys(step.inputs)) {
if (!step.inputs[inputName] || step.inputs[inputName] === "") {
delete step.inputs[inputName]
}
}
}
return workflow
}
exports.create = async function(ctx) { exports.create = async function(ctx) {
const db = new CouchDB(ctx.user.instanceId) const db = new CouchDB(ctx.user.instanceId)
const workflow = ctx.request.body let workflow = ctx.request.body
workflow._id = newid() workflow._id = newid()
workflow.type = "workflow" workflow.type = "workflow"
workflow = cleanWorkflowInputs(workflow)
const response = await db.post(workflow) const response = await db.post(workflow)
workflow._rev = response.rev workflow._rev = response.rev
@ -32,8 +53,9 @@ exports.create = async function(ctx) {
exports.update = async function(ctx) { exports.update = async function(ctx) {
const db = new CouchDB(ctx.user.instanceId) const db = new CouchDB(ctx.user.instanceId)
const workflow = ctx.request.body let workflow = ctx.request.body
workflow = cleanWorkflowInputs(workflow)
const response = await db.put(workflow) const response = await db.put(workflow)
workflow._rev = response.rev workflow._rev = response.rev

View File

@ -53,7 +53,7 @@ module.exports.run = async function({ inputs }) {
to: inputs.to, to: inputs.to,
from: inputs.from, from: inputs.from,
subject: inputs.subject, subject: inputs.subject,
text: inputs.text ? inputs.text : "Empty", text: inputs.contents ? inputs.contents : "Empty",
} }
try { try {