Merge pull request #6794 from Budibase/fix/automation-issue
Fix for automations and context stack up
This commit is contained in:
commit
fcdd97ea47
|
@ -67,6 +67,10 @@ export const getTenantIDFromAppID = (appId: string) => {
|
|||
|
||||
// used for automations, API endpoints should always be in context already
|
||||
export const doInTenant = (tenantId: string | null, task: any) => {
|
||||
// make sure default always selected in single tenancy
|
||||
if (!env.MULTI_TENANCY) {
|
||||
tenantId = tenantId || DEFAULT_TENANT_ID
|
||||
}
|
||||
// the internal function is so that we can re-use an existing
|
||||
// context - don't want to close DB on a parent context
|
||||
async function internal(opts = { existing: false }) {
|
||||
|
|
|
@ -3,9 +3,7 @@ const actions = require("../automations/actions")
|
|||
const automationUtils = require("../automations/automationUtils")
|
||||
const AutomationEmitter = require("../events/AutomationEmitter")
|
||||
const { processObject } = require("@budibase/string-templates")
|
||||
const { DEFAULT_TENANT_ID } = require("@budibase/backend-core/constants")
|
||||
const { DocumentTypes } = require("../db/utils")
|
||||
const { doInTenant } = require("@budibase/backend-core/tenancy")
|
||||
const { definitions: triggerDefs } = require("../automations/triggerInfo")
|
||||
const { doInAppContext, getAppDB } = require("@budibase/backend-core/context")
|
||||
const { AutomationErrors, LoopStepTypes } = require("../constants")
|
||||
|
@ -134,7 +132,6 @@ class Orchestrator {
|
|||
|
||||
async execute() {
|
||||
let automation = this._automation
|
||||
const app = await this.getApp()
|
||||
let stopped = false
|
||||
let loopStep = null
|
||||
|
||||
|
@ -264,15 +261,12 @@ class Orchestrator {
|
|||
inputs = automationUtils.cleanInputValues(inputs, step.schema.inputs)
|
||||
try {
|
||||
// appId is always passed
|
||||
let tenantId = app.tenantId || DEFAULT_TENANT_ID
|
||||
const outputs = await doInTenant(tenantId, () => {
|
||||
return stepFn({
|
||||
const outputs = await stepFn({
|
||||
inputs: inputs,
|
||||
appId: this._appId,
|
||||
emitter: this._emitter,
|
||||
context: this._context,
|
||||
})
|
||||
})
|
||||
this._context.steps[stepCount] = outputs
|
||||
// if filter causes us to stop execution don't break the loop, set a var
|
||||
// so that we can finish iterating through the steps and record that it stopped
|
||||
|
|
Loading…
Reference in New Issue