* 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>
* 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
* add ability for user to toggle bindable input for attachment
* error handling for missing keys
* improve error handling for smtp attachments
* remove log
* add test
* fixing some pr comments
* update test
* base work to support attachments in create / update row
* handle single attachment column
* fix tests
* pro
* fix some types
* handle case where file exists in storage
* improve attacment processing
* refactor slightly and ensure correct url is used for existing attachments
* add test
* Fixing a build issue.
* update tests
* some lint
* remove cursed backend-core test util
* addressing pr comments
* refactoring nasty automationUtils upload code
* remove uneeded check
* use basneeame for fallback filename
* add a test to ensure coverage of single attachment column type
* fail early when fetching object metadata
---------
Co-authored-by: mike12345567 <me@michaeldrury.co.uk>
* handle files in rest connector
* fetch presigned url and return
* further updates to handle files in rest connector
* remove unused important and fix extension bug
* wrong expiry param
* tests
* add const for temp bucket
* handle ttl on bucket
* more bucket ttl work
* split out fileresponse and xmlresponse into utils
* lint
* remove log
* fix tests
* some pr comments
* update function naming and lint
* adding back needed response for frontend
* use fsp
* handle different content-disposition and potential path traversal
* add test container for s3 / minio
* add test case for filename* and ascii filenames
* move tests into separate describe
* remove log
* up timeout
* switch to minio image instead of localstack
* use minio image instead of s3 for testing
* stream file upload instead
* use streamUpload and update signatures
* update bucketcreate return
* throw real error
* tidy up
* pro
* pro ref fix?
* pro fix
* pro fix?
* move minio test provider to backend-core
* update email builder to allow attachments
* testing for sending files via smtp
* use backend-core minio test container in server
* handle different types of url
* fix minio test provider
* test with container host
* lint
* try different hostname?
* Revert "try different hostname?"
This reverts commit cfefdb8ded.
* fix issue with fetching of signed url with test minio
* update autoamtion attachments to take filename and url
* fix tests
* pro ref
* fix parsing of url object
* pr comments and linting
* pro ref
* fix pro again
* fix pro
* account-portal
* fix null issue
* fix ref
* ref
* When sending a file attachment in email fetch it directly from our object store
* add more checks to ensure we're working with a signed url
* update test to account for direct object store read
* formatting
* fix time issues within test
* update bucket and path extraction to regex
* use const in regex
* pro
* Updating TTL handling in upload functions (#13539)
* Updating TTL handling in upload functions
* describe ttl type
* account for ttl creation in existing buckets and update types
* fix tests
* pro
* pro
* update svelte versions
* temporarilly disable svelte warnings
* change bbap version pointed to
* remove sub module specifying svelte version
* point at updated account-portal
* add type declaration for svelte in the server
* add svelte transformer for server jest tests
* remove svelte from bbui package.json
* get builder tests working
* linting fixes
* prettier fixes
* fix server test
* fix another server test
* fix server serverlog test
* account-portal-version
* pin master version of pro
* revert hbs doc file in server to use triple braces, ensures nothing gets escaped
* Add n8n automation action
* Add authorization header support
* add unit tests
* Replace test.com with example.com
* Add HttpMethod enum to types
* fix unit test
* Add required field label asterisk
* Support barcode and bigint in automations
* Support users in LinkedRowSelector
* Fix clear relationships if empty
* Make sure clearRelationships is initialised to false
* Revert yarn lock
* Refactor
* Refactor
* Deprecate zapier+make values1..5
* Allow dates in meeting invite to be bindable
* Add DrawerBindableSlot component
* Show calendar icon
* refactor
* Use cancel icon
* Disable cancel for JS bindings
* WIP
* WIP
* WIP
* Fix linkedIds svelte binding
* Label and icon update
* Handle arrays
* Support text area
* Add reactivity to text area icon
* Support boolean
* JSON support
* Remove rowControl
* Allow boolean field to have three states
* lint
* Refactor
---------
Co-authored-by: Michael Drury <me@michaeldrury.co.uk>
* Rename Integromat to Make. Update logo.
* Add JSON type for automations
* Support deprecated values in JSON
* Fix json query editor width bug
* Push body to schema if missing
* Support JSON body
* Add JSON payload support for Zapier
* Update packages/server/src/automations/steps/make.ts
Co-authored-by: Martin McKeaveney <martin@budibase.com>
* July -> November
* Add unit tests
---------
Co-authored-by: Martin McKeaveney <martin@budibase.com>
* Add full undo/redo support for screens
* Add loading states to disable spamming undo/redo
* Add keyboard shortcuts for undo and redo
* Fix modals not closing in design section when escape is pressed
* Remove log
* Add smart metadata saving to undo/redo
* Add error handling to undo/redo
* Add active state to hoverable icons
* Fix screen deletion
* Always attempt to get latest doc version before deleting in case rev has changed
* Move undo listener top level, hide controls when on certain tabs, and improve selection state
* Add tooltips to undo/redo control
* Update automation section nav to match other sections
* Fix automation list padding
* Fix some styles in create automation modal
* Improve automation section styles and add undo/redo
* Update styles in add action modal
* Fix button size when creating admin user
* Fix styles in add automation step modal
* Fix issue selecting disabled automation steps
* Reset automation history store when changing app
* Reduce spammy unnecessary API calls when editing cron trigger
* WIP automation refactor
* Rewrite most automation state
* Rewrite most of the rest of automation state
* Finish refactor of automation state
* Fix selection state when selecting new doc after history recreates it
* Prune nullish or empty block inputs from automations and avoid sending API requests when no changes have been made
* Fix animation issues with automations
* Sort automations and refetch list when adding or deleting
* Fix formatting
* Add back in ability to swap between values and bindings for block inputs
* Lint
* Format
* Fix potential issue in design section when selected screen is unset
* Fix automation arrow directions everywhere, tidy up logic and fix crash when using invalid looping
* Lint
* Fix more cases of automation errors
* Fix implicity any TS error
* Respect _id specified when creating automations
* Fix crash in history store when reverting a change on a doc whose ID has changed
* Lint
* Ensure cloneDeep helper doesn't crash when a nullish value is passed in
* Remove deprecated frontend automation test
---------
Co-authored-by: Rory Powell <rory.codes@gmail.com>
* Add padding to text field input
* Apply padding to modal binding input
* Support relationships in automation bindings
* Trim automation field keys
* Trim automation field name
* Empty string check
* Add checkbox for clearing relationships update row
* Added state for automation field metadata
* clearRelationships updateRow check
* Padding tweak
* Re-add support for filtering on _id using external SQL tables and fix filter key prefixes not working with _id field
* Remove like operator from internal tables and only allow basic operators on SQL table _id column
* Update data section filtering to respect new rules
* Update automation section filtering to respect new rules
* Update dynamic filter component to respect new rules