* More typing for automations
* undo test updates
* remove casting of loop step and add more types
* remove unused type
* pro
* Update types and fix ts issues
* add branching types
* remove any cast
---------
Co-authored-by: Adria Navarro <adria@budibase.com>
* basic class for generating and running an automation
* change filename
* add to existing tests
* remove dupe tests
* add types to automation steps
* add types to triggers
* update tests and typing
* fix types
* typo
* move all step schema types do types folder
* updated types
* typing pr comments
* remove unused param
* some more typing and tests
* more typing
* improve type map
* fix broken type
* this will surely fix my issue
* backend for triggering automation based on filters
* frontend for handling triggering automations on filter / old row
* lint and bug fix
* fix issue with test header
* make test data optional
* improve safety on trigger gate
* add support for running trigger with filter if no change happened but filter matches
* update var naming to actually make sense
* tests
* fix lint
* improve gating for shouldTrigger check
* remove unecessary cast
* unecessary tableId check
* frontend text updates
* resolving comments
* pro
* Update packages/types/src/documents/app/automation.ts
Co-authored-by: Sam Rose <hello@samwho.dev>
* link out to docs for trigger filtering
* fix pro
* more pr comments
* use getAppId
---------
Co-authored-by: Sam Rose <hello@samwho.dev>
* fixes an issue where nulls weren't being handled correctly in loops
* remove log
* update recursive gate to be more specific
* use lodash for object check
* fix issue where booleans were being parsed to null
* refactor looping out of automations
* clean out execute function in orchestrator of looping code
* re-add accidentally deleted file
* remove spec file
* remove log
* move code back into main automation thread
* account portal update
---------
Co-authored-by: Adria Navarro <adria@budibase.com>
Co-authored-by: Michael Drury <me@michaeldrury.co.uk>
Co-authored-by: Sam Rose <hello@samwho.dev>
* expose old row through the emitter
* accidentally added oldRow to step
* fix row fetch in external datasources
* add test for new / old row comparison
* add testing for old row update event
* allow function overloading in test files
* update tests per comments
* handle event race condition
* update test data modal to account for old row output
* switch icon positioning