@budibase/server 2.0.20 → 2.0.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/builder/assets/{index.654c9538.js → index.e2f22248.js} +2 -2
- package/builder/index.html +1 -1
- package/coverage/clover.xml +2 -2
- package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
- package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
- package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
- package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
- package/coverage/lcov-report/api/controllers/datasource.js.html +1 -1
- package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
- package/coverage/lcov-report/api/controllers/index.html +1 -1
- package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
- package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
- package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
- package/coverage/lcov-report/api/controllers/migrations.js.html +1 -1
- package/coverage/lcov-report/api/controllers/permission.js.html +1 -1
- package/coverage/lcov-report/api/controllers/query/index.html +1 -1
- package/coverage/lcov-report/api/controllers/query/validation.js.html +1 -1
- package/coverage/lcov-report/api/controllers/role.js.html +1 -1
- package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/index.html +1 -1
- package/coverage/lcov-report/api/controllers/row/internal.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/utils.js.html +1 -1
- package/coverage/lcov-report/api/controllers/script.js.html +1 -1
- package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +1 -1
- package/coverage/lcov-report/api/controllers/table/external.js.html +1 -1
- package/coverage/lcov-report/api/controllers/table/index.html +1 -1
- package/coverage/lcov-report/api/controllers/table/index.js.html +1 -1
- package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
- package/coverage/lcov-report/api/controllers/user.js.html +1 -1
- package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
- package/coverage/lcov-report/api/controllers/view/index.html +1 -1
- package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
- package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
- package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
- package/coverage/lcov-report/api/controllers/webhook.js.html +1 -1
- package/coverage/lcov-report/api/index.html +1 -1
- package/coverage/lcov-report/api/index.js.html +1 -1
- package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
- package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
- package/coverage/lcov-report/api/routes/automation.js.html +1 -1
- package/coverage/lcov-report/api/routes/backup.js.html +1 -1
- package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
- package/coverage/lcov-report/api/routes/component.js.html +1 -1
- package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
- package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
- package/coverage/lcov-report/api/routes/dev.js.html +1 -1
- package/coverage/lcov-report/api/routes/index.html +1 -1
- package/coverage/lcov-report/api/routes/integration.js.html +1 -1
- package/coverage/lcov-report/api/routes/layout.js.html +1 -1
- package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
- package/coverage/lcov-report/api/routes/migrations.js.html +1 -1
- package/coverage/lcov-report/api/routes/permission.js.html +1 -1
- package/coverage/lcov-report/api/routes/query.js.html +1 -1
- package/coverage/lcov-report/api/routes/role.js.html +1 -1
- package/coverage/lcov-report/api/routes/routing.js.html +1 -1
- package/coverage/lcov-report/api/routes/screen.js.html +1 -1
- package/coverage/lcov-report/api/routes/script.js.html +1 -1
- package/coverage/lcov-report/api/routes/table.js.html +1 -1
- package/coverage/lcov-report/api/routes/templates.js.html +1 -1
- package/coverage/lcov-report/api/routes/user.js.html +1 -1
- package/coverage/lcov-report/api/routes/utils/index.html +1 -1
- package/coverage/lcov-report/api/routes/utils/validators.js.html +1 -1
- package/coverage/lcov-report/api/routes/view.js.html +1 -1
- package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
- package/coverage/lcov-report/automations/actions.js.html +1 -1
- package/coverage/lcov-report/automations/automationUtils.js.html +1 -1
- package/coverage/lcov-report/automations/bullboard.js.html +1 -1
- package/coverage/lcov-report/automations/index.html +1 -1
- package/coverage/lcov-report/automations/index.js.html +1 -1
- package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
- package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
- package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
- package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
- package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
- package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
- package/coverage/lcov-report/automations/steps/index.html +1 -1
- package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
- package/coverage/lcov-report/automations/steps/loop.js.html +1 -1
- package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
- package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
- package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
- package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
- package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
- package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
- package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
- package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
- package/coverage/lcov-report/automations/triggers.js.html +1 -1
- package/coverage/lcov-report/constants/index.html +1 -1
- package/coverage/lcov-report/constants/index.js.html +1 -1
- package/coverage/lcov-report/constants/layouts.js.html +1 -1
- package/coverage/lcov-report/constants/screens.js.html +1 -1
- package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
- package/coverage/lcov-report/db/index.html +1 -1
- package/coverage/lcov-report/db/index.js.html +1 -1
- package/coverage/lcov-report/db/linkedRows/LinkController.js.html +1 -1
- package/coverage/lcov-report/db/linkedRows/index.html +1 -1
- package/coverage/lcov-report/db/linkedRows/index.js.html +1 -1
- package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
- package/coverage/lcov-report/db/newid.js.html +1 -1
- package/coverage/lcov-report/db/utils.js.html +1 -1
- package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
- package/coverage/lcov-report/events/index.html +1 -1
- package/coverage/lcov-report/events/index.js.html +1 -1
- package/coverage/lcov-report/events/utils.js.html +1 -1
- package/coverage/lcov-report/index.html +1 -1
- package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
- package/coverage/lcov-report/integrations/tests/index.html +1 -1
- package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
- package/coverage/lcov-report/middleware/builder.js.html +1 -1
- package/coverage/lcov-report/middleware/currentapp.js.html +1 -1
- package/coverage/lcov-report/middleware/index.html +1 -1
- package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
- package/coverage/lcov-report/middleware/publicApi.js.html +1 -1
- package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
- package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
- package/coverage/lcov-report/middleware/utils.js.html +1 -1
- package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
- package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
- package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
- package/coverage/lcov-report/utilities/global.js.html +1 -1
- package/coverage/lcov-report/utilities/index.html +1 -1
- package/coverage/lcov-report/utilities/index.js.html +1 -1
- package/coverage/lcov-report/utilities/plugins.js.html +1 -1
- package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +1 -1
- package/coverage/lcov-report/utilities/queue/index.html +1 -1
- package/coverage/lcov-report/utilities/routing/index.html +1 -1
- package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
- package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
- package/coverage/lcov-report/utilities/rowProcessor/index.js.html +1 -1
- package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
- package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
- package/coverage/lcov-report/utilities/security.js.html +1 -1
- package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
- package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
- package/coverage/lcov-report/utilities/usageQuota/rows.js.html +1 -1
- package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
- package/coverage/lcov-report/utilities/users.js.html +1 -1
- package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
- package/dist/package.json +6 -6
- package/dist/threads/automation.js +15 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +7 -7
- package/src/threads/automation.ts +24 -5
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@budibase/server",
|
|
3
3
|
"email": "hi@budibase.com",
|
|
4
|
-
"version": "2.0.
|
|
4
|
+
"version": "2.0.21",
|
|
5
5
|
"description": "Budibase Web Server",
|
|
6
6
|
"main": "src/index.ts",
|
|
7
7
|
"repository": {
|
|
@@ -77,11 +77,11 @@
|
|
|
77
77
|
"license": "GPL-3.0",
|
|
78
78
|
"dependencies": {
|
|
79
79
|
"@apidevtools/swagger-parser": "10.0.3",
|
|
80
|
-
"@budibase/backend-core": "^2.0.
|
|
81
|
-
"@budibase/client": "^2.0.
|
|
82
|
-
"@budibase/pro": "2.0.
|
|
83
|
-
"@budibase/string-templates": "^2.0.
|
|
84
|
-
"@budibase/types": "^2.0.
|
|
80
|
+
"@budibase/backend-core": "^2.0.21",
|
|
81
|
+
"@budibase/client": "^2.0.21",
|
|
82
|
+
"@budibase/pro": "2.0.20",
|
|
83
|
+
"@budibase/string-templates": "^2.0.21",
|
|
84
|
+
"@budibase/types": "^2.0.21",
|
|
85
85
|
"@bull-board/api": "3.7.0",
|
|
86
86
|
"@bull-board/koa": "3.9.4",
|
|
87
87
|
"@elastic/elasticsearch": "7.10.0",
|
|
@@ -199,5 +199,5 @@
|
|
|
199
199
|
"optionalDependencies": {
|
|
200
200
|
"oracledb": "5.3.0"
|
|
201
201
|
},
|
|
202
|
-
"gitHead": "
|
|
202
|
+
"gitHead": "cfebcbf1abeb94c54c14c9d4d93c119a5e7bdc8f"
|
|
203
203
|
}
|
|
@@ -252,7 +252,7 @@ class Orchestrator {
|
|
|
252
252
|
let loopStepNumber: any = undefined
|
|
253
253
|
let loopSteps: LoopStep[] | undefined = []
|
|
254
254
|
let metadata
|
|
255
|
-
|
|
255
|
+
let wasLoopStep = false
|
|
256
256
|
// check if this is a recurring automation,
|
|
257
257
|
if (isProdAppID(this._appId) && isRecurring(automation)) {
|
|
258
258
|
metadata = await this.getMetadata()
|
|
@@ -267,6 +267,7 @@ class Orchestrator {
|
|
|
267
267
|
let input,
|
|
268
268
|
iterations = 1,
|
|
269
269
|
iterationCount = 0
|
|
270
|
+
|
|
270
271
|
if (step.stepId === LOOP_STEP_ID) {
|
|
271
272
|
loopStep = step
|
|
272
273
|
loopStepNumber = stepCount
|
|
@@ -277,10 +278,8 @@ class Orchestrator {
|
|
|
277
278
|
input = await processObject(loopStep.inputs, this._context)
|
|
278
279
|
iterations = getLoopIterations(loopStep as LoopStep, input)
|
|
279
280
|
}
|
|
280
|
-
|
|
281
281
|
for (let index = 0; index < iterations; index++) {
|
|
282
282
|
let originalStepInput = cloneDeep(step.inputs)
|
|
283
|
-
|
|
284
283
|
// Handle if the user has set a max iteration count or if it reaches the max limit set by us
|
|
285
284
|
if (loopStep && input.binding) {
|
|
286
285
|
let newInput = await processObject(
|
|
@@ -313,7 +312,6 @@ class Orchestrator {
|
|
|
313
312
|
} else {
|
|
314
313
|
item = loopStep.inputs.binding
|
|
315
314
|
}
|
|
316
|
-
|
|
317
315
|
this._context.steps[loopStepNumber] = {
|
|
318
316
|
currentItem: item[index],
|
|
319
317
|
}
|
|
@@ -331,6 +329,16 @@ class Orchestrator {
|
|
|
331
329
|
innerValue,
|
|
332
330
|
`steps.${loopStepNumber}`
|
|
333
331
|
)
|
|
332
|
+
} else if (typeof value === "object") {
|
|
333
|
+
for (let [innerObject, innerValue] of Object.entries(
|
|
334
|
+
originalStepInput[key][innerKey]
|
|
335
|
+
)) {
|
|
336
|
+
originalStepInput[key][innerKey][innerObject] =
|
|
337
|
+
automationUtils.substituteLoopStep(
|
|
338
|
+
innerValue,
|
|
339
|
+
`steps.${loopStepNumber}`
|
|
340
|
+
)
|
|
341
|
+
}
|
|
334
342
|
}
|
|
335
343
|
}
|
|
336
344
|
} else {
|
|
@@ -386,6 +394,7 @@ class Orchestrator {
|
|
|
386
394
|
let stepFn = await this.getStepFunctionality(step.stepId)
|
|
387
395
|
let inputs = await processObject(originalStepInput, this._context)
|
|
388
396
|
inputs = automationUtils.cleanInputValues(inputs, step.schema.inputs)
|
|
397
|
+
|
|
389
398
|
try {
|
|
390
399
|
// appId is always passed
|
|
391
400
|
const outputs = await stepFn({
|
|
@@ -394,6 +403,7 @@ class Orchestrator {
|
|
|
394
403
|
emitter: this._emitter,
|
|
395
404
|
context: this._context,
|
|
396
405
|
})
|
|
406
|
+
|
|
397
407
|
this._context.steps[stepCount] = outputs
|
|
398
408
|
// if filter causes us to stop execution don't break the loop, set a var
|
|
399
409
|
// so that we can finish iterating through the steps and record that it stopped
|
|
@@ -419,6 +429,7 @@ class Orchestrator {
|
|
|
419
429
|
console.error(`Automation error - ${step.stepId} - ${err}`)
|
|
420
430
|
return err
|
|
421
431
|
}
|
|
432
|
+
|
|
422
433
|
if (loopStep) {
|
|
423
434
|
iterationCount++
|
|
424
435
|
if (index === iterations - 1) {
|
|
@@ -429,6 +440,13 @@ class Orchestrator {
|
|
|
429
440
|
}
|
|
430
441
|
}
|
|
431
442
|
|
|
443
|
+
// Delete the step after the loop step as it's irrelevant, since information is included
|
|
444
|
+
// in the loop step
|
|
445
|
+
if (wasLoopStep) {
|
|
446
|
+
this._context.steps.splice(loopStepNumber + 1, 1)
|
|
447
|
+
wasLoopStep = false
|
|
448
|
+
}
|
|
449
|
+
|
|
432
450
|
if (loopSteps && loopSteps.length) {
|
|
433
451
|
let tempOutput = {
|
|
434
452
|
success: true,
|
|
@@ -441,9 +459,10 @@ class Orchestrator {
|
|
|
441
459
|
outputs: tempOutput,
|
|
442
460
|
inputs: step.inputs,
|
|
443
461
|
})
|
|
462
|
+
this._context.steps[loopStepNumber] = tempOutput
|
|
444
463
|
|
|
445
|
-
this._context.steps.splice(loopStepNumber, 0, tempOutput)
|
|
446
464
|
loopSteps = undefined
|
|
465
|
+
wasLoopStep = true
|
|
447
466
|
}
|
|
448
467
|
}
|
|
449
468
|
|