Commit Graph

134 Commits

Author SHA1 Message Date
Peter Clement db273bcd36
Support attachment columns in Automations (#13567)
* 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>
2024-05-09 14:30:56 +01:00
Peter Clement a4c0328c53
REST file handling and SMTP automation block attachments (#13403)
* 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
2024-04-22 15:30:57 +00:00
Sam Rose 217b39c232
Reenable no-unused-vars 2024-03-20 11:46:39 +00:00
Adria Navarro db2c20e3ae eslint import/newline-after-import 2023-11-20 21:52:29 +01:00
mike12345567 7fb6c0927a Moving things around to get rid of cyclics created by moving invite/passwordReset into backend-core - also updating currentapp test case to mock a bit better. 2023-11-17 16:20:10 +00:00
Sam Rose 4c7c10b121
Set Redis initialisation back to how it was before I started messing with it. 2023-11-10 16:17:18 +00:00
Sam Rose d98e217c6c
Fix backend-core redis imports. 2023-11-10 11:21:36 +00:00
Sam Rose b29cfc600c
Move Invite and PasswordReset code into backend-core. 2023-11-09 14:51:07 +00:00
Sam Rose a6a75b533c
Reject inviting the same user twice. 2023-11-09 11:15:44 +00:00
Sam Rose 3f69b17c94
Fully type the worker redis utils file. 2023-11-09 11:05:42 +00:00
Sam Rose fdfda100c1
Ensure that the DB always returns Documents. 2023-11-07 18:14:52 +00:00
Sam Rose 767900aec6
Remove type information from JSDoc in .ts files, it's redundant. 2023-10-17 16:46:32 +01:00
melohagan c0578d4cc2 Send meeting invite via automation email smtp (#10787)
* Pass calendar props into sendSmtpEmail

* Add calendar event to message

* Add Checkbox and DatePicker automation field UI

* Add URL prop

* Add url to sendSmtpEmail unit test

* Refactor

* Code review comments

* Make location optional

* Add EmailInvite type

---------

Co-authored-by: mike12345567 <me@michaeldrury.co.uk>
2023-06-08 14:25:35 +01:00
mike12345567 55ec808a82 Fixing comment. 2023-05-16 15:47:38 +01:00
Rory Powell ec06f13aa6 Per user pricing (#10378)
* Update pro version to 2.4.44-alpha.9 (#10231)

Co-authored-by: Budibase Staging Release Bot <>

* Track installation and unique tenant id on licence activate (#10146)

* changes and exports

* removing the extend

* Lint + tidy

* Update account.ts

---------

Co-authored-by: Rory Powell <rory.codes@gmail.com>
Co-authored-by: mike12345567 <me@michaeldrury.co.uk>

* Type updates for loading new plans (#10245)

* Add new quota for max users on free plan

* Split available vs purchased plan & price type definitions. Update usages of available prices and plans

* Type fixes

* Add types for minimums

* New `PlanModel` type for `PER_USER` and `DAY_PASS` (#10247)

* Add new quota for max users on free plan

* Split available vs purchased plan & price type definitions. Update usages of available prices and plans

* Type fixes

* Add types for minimums

* New `PlanModel` type for `PER_USER` and `DAY_PASS`

* Add loadEnvFiles to lerna config for run command to prevent local test failures

* Fix types in license test structure

* Add quotas integration to user create / delete + migration (#10250)

* Add new quota for max users on free plan

* Split available vs purchased plan & price type definitions. Update usages of available prices and plans

* Type fixes

* Add types for minimums

* New `PlanModel` type for `PER_USER` and `DAY_PASS`

* Add loadEnvFiles to lerna config for run command to prevent local test failures

* Fix types in license test structure

* Add quotas integration to user create / delete

* Always sync user count from view total_rows value for accuracy

* Add migration to sync users

* Add syncUsers.spec.ts

* Lint

* Types and structures for user subscription quantity sync (#10280)

* Add new quota for max users on free plan

* Split available vs purchased plan & price type definitions. Update usages of available prices and plans

* Type fixes

* Add types for minimums

* New `PlanModel` type for `PER_USER` and `DAY_PASS`

* Add loadEnvFiles to lerna config for run command to prevent local test failures

* Fix types in license test structure

* Add quotas integration to user create / delete

* Always sync user count from view total_rows value for accuracy

* Add migration to sync users

* Add syncUsers.spec.ts

* Prevent old installs from activating, track install info via get license request instead of on activation.

* Add usesInvoicing to PurchasedPlan

* Add min/max users to PurchasedPlan

* Additional test structures for generating a license, remove maxUsers from PurchasedPlan - this is already present in the license quotas

* Stripe integration for monthly prorations on annual plans

* Integrate annual prorations with test clocks

* Updated types, test utils and date processing for licensing (#10346)

* Add new quota for max users on free plan

* Split available vs purchased plan & price type definitions. Update usages of available prices and plans

* Type fixes

* Add types for minimums

* New `PlanModel` type for `PER_USER` and `DAY_PASS`

* Add loadEnvFiles to lerna config for run command to prevent local test failures

* Fix types in license test structure

* Add quotas integration to user create / delete

* Always sync user count from view total_rows value for accuracy

* Add migration to sync users

* Add syncUsers.spec.ts

* Prevent old installs from activating, track install info via get license request instead of on activation.

* Add usesInvoicing to PurchasedPlan

* Add min/max users to PurchasedPlan

* Additional test structures for generating a license, remove maxUsers from PurchasedPlan - this is already present in the license quotas

* Stripe integration for monthly prorations on annual plans

* Integrate annual prorations with test clocks

* Updated types, test utils and date processing

* Lint

* Pricing/billing page (#10353)

* bbui updates for billing page

* Require all PlanTypes in PlanMinimums for compile time safety

* fix test package utils

* Incoming user limits warnings (#10379)

* incoming user limits warning

* fix inlinealert button

* add corretc button link and text to user alert

* pr comments

* simplify limit check

* Types and test updates for subscription quantity changes in account-portal (#10372)

* Add chance extensions for `arrayOf`. Update events spies with license events

* Add generics to doInTenant response

* Update account structure with quota usage

* User count limits (#10385)

* incoming user limits warning

* fix inlinealert button

* add corretc button link and text to user alert

* pr comments

* simplify limit check

* user limit messaging on add users modal

* user limit messaging on import users modal

* update licensing store to be more generic

* some styling updates

* remove console log

* Store tweaks

* Add startDate to Quota type

---------

Co-authored-by: Rory Powell <rory.codes@gmail.com>

* Lint

* Support custom lock options

* Reactivity fixes for add user modals

* Update ethereal email creds

* Add warn for getting invite from code error

* Extract disabling user import condition

* Handling unlimited users in modals logic and adding start date processing to store

* Lint

* Integration testing fixes (#10389)

* lint

---------

Co-authored-by: Mateus Badan de Pieri <mateuspieri@gmail.com>
Co-authored-by: mike12345567 <me@michaeldrury.co.uk>
Co-authored-by: Peter Clement <PClmnt@users.noreply.github.com>
2023-04-24 09:31:48 +01:00
mike12345567 a2cabb01d5 Removing user app sync calls from worker - no longer required. 2023-04-04 13:53:30 +01:00
deanhannigan dfe6b55c1a Merge branch 'feature/whitelabelling' into feature/whitelabelling-pro 2023-03-28 09:13:47 +01:00
Rory Powell 60650b031b Move branding read behind pro 2023-03-27 22:28:25 +01:00
Dean 56e1d102fc Added feature flag function for branding to ensure it uses the cached license 2023-03-27 21:15:09 +01:00
Dean 4de8333f80 Review updates 2023-03-27 18:00:57 +01:00
Dean bfd7e49c72 Template fixes and updates to the file picker. Error handling added to display a warning when navigating to an unpublished or invalid app url. 2023-03-21 09:20:43 +00:00
Dean 253ee413a2 Working commit 2023-03-16 09:07:21 +00:00
Dean f3b58923cf Merge remote-tracking branch 'origin/develop' into feature/whitelabelling 2023-03-15 09:13:36 +00:00
Rory Powell e116941750 Rotatable secrets (#9982)
* Rotatable secrets

* Set new api encryption key var

* Lint

* Use fallback keys instead of array

* Point api encryption key to dedicated value

* Add API_ENCRYPTION_KEY to cli

* Lint + add api encryption key to env files
2023-03-13 15:02:59 +00:00
Dean 5ce52cad06 Working commit 2023-03-13 12:33:16 +00:00
Martin McKeaveney 63e7d9d97e update imports 2023-03-07 10:01:19 +00:00
Martin McKeaveney fd8488d4d3 remove array of tenantIds 2023-03-07 09:56:12 +00:00
Martin McKeaveney b839eafbe3 return all when in single tenant env 2023-03-07 09:49:58 +00:00
Martin McKeaveney ea5e564428 fix tenant filtering issue 2023-03-07 09:45:39 +00:00
Rory Powell 4c43ba2943 Bypass password onboarding for enforced sso (#9851) 2023-03-01 21:56:30 +00:00
Dean a5c6dbe4ae Merge remote-tracking branch 'origin/develop' into feature/app-user-onboarding-ux 2023-02-28 16:38:44 +00:00
Dean 8c8dd637e1 Enable the feature tour window and extend the invite duration to 1 week 2023-02-28 16:38:11 +00:00
Rory Powell 7ed0586673 Add validation between sso config acivation and sso enforcement 2023-02-28 13:36:54 +00:00
Dean dd08845a44 Merge remote-tracking branch 'origin/develop' into feature/app-user-onboarding-ux 2023-02-28 09:38:15 +00:00
Dean 61ed62e6c4 Builder user onboarding 2023-02-28 09:37:03 +00:00
Rory Powell 2d993adec8 Fix for real email tests failing silently 2023-02-23 13:42:10 +00:00
Dean 234e2fe3f3 Merge remote-tracking branch 'origin/develop' into feature/app-user-onboarding-ux 2023-02-23 11:19:29 +00:00
Dean b4c88bd545 Merge commit to dev 2023-02-23 10:38:03 +00:00
Rory Powell 940de8b6a0 Run CI steps in parallel (#9760)
* Parallel CI

* Add build to integration test

* Add checkout to top of each run

* Revert branch update for ci job

* Experiment with --runInBand for CI

* Fix intermittent backend-core migration test failure

* Fix hanging worker redis connection

* Update naming from reset to newTenant
2023-02-21 17:13:24 +00:00
Rory Powell cacf275a99 Prevent SSO users from setting / resetting a password (#9672)
* Prevent SSO users from setting / resetting a password

* Add support for ENABLE_SSO_MAINTENANCE_MODE

* Add typing to self api and build out user update sdk

* Integrate sso checks with user sdk. Integrate user sdk with self api

* Test fixes

* Move self update into SDK

* Lock down maintenance mode to admin user

* Fix typo

* Add health status response and return type signature to accounts.getStatus

* Remove some unnecessary comments

* Make sso save user function non optional

* Remove redundant check on sso auth details provider

* Update syncProfilePicture function name to getProfilePictureUrl

* Update packages/worker/src/sdk/users/events.ts

Co-authored-by: Adria Navarro <adria@revityapp.com>

* Add ENABLE_EMAIL_TEST_MODE flag

* Fix for logging in as sso user when existing user has password already

* Hide password update and force reset from ui for sso users

* Always disable sso maintenance mode in cloud

---------

Co-authored-by: Adria Navarro <adria@revityapp.com>
2023-02-21 08:23:53 +00:00
Adria Navarro 70a01c48f1 Merge pull request #9337 from Budibase/bug/#7220-removing-user-from-auth-does-not-remove-from-app
Bug - #7220 removing user from auth does not remove from app
2023-01-16 10:49:27 +00:00
Adria Navarro 946cc35ff7 Type request and body 2023-01-16 10:15:00 +00:00
Adria Navarro ff10fa422b Unify endpoints 2023-01-13 14:45:04 +00:00
Adria Navarro 09570e26f6 Remove user within the app on deletion 2023-01-12 16:28:02 +00:00
Rory Powell e5e767f18d Correlation id's and log context (#7232)
* Correlation id's and log context

* fix build

* Remove redundant fields from LoggingProcessor.ts

* Only log correlation id when present e.g. this is not present on startup / shutdown / automations
2023-01-11 20:39:33 +00:00
mike12345567 bfaef13768 Refactoring worker, converting all controllers/routes to Typescript and all imports of backend-core to new style. 2022-11-23 18:25:20 +00:00
mike12345567 58e59bfacc Updating PouchLike to be an interface in types, with its impl stored in backend-core, now called Database. 2022-11-17 14:35:03 +00:00
mike12345567 bc857d7bb8 PR comments - still experiencing build issues. 2022-11-17 13:31:54 +00:00
mike12345567 cdc25d7032 Some worker typescript conversions. 2022-11-16 18:13:34 +00:00
mike12345567 29dd98a7fc Merge branch 'develop' of github.com:Budibase/budibase into feature/replace-pouch 2022-11-16 18:12:31 +00:00