Commit Graph

83 Commits

Author SHA1 Message Date
Adria Navarro 7ce9756d8c Revert jsRunner changes to vm 2024-02-09 16:36:43 +01:00
Adria Navarro 3b8b60aa03 Use wrapper 2024-02-08 09:38:09 +01:00
Adria Navarro 218ba1d283 VM types 2024-02-08 09:38:09 +01:00
Adria Navarro 8dfcc3aeb1
Revert "Revert "Migrate from `vm` to `isolated-vm`"" 2024-02-02 12:02:09 +01:00
Sam Rose 332a201ae7
Revert "Migrate from `vm` to `isolated-vm`" 2024-02-02 09:51:46 +00:00
Adria Navarro 45ea6a6fd6
Revert "Revert "Migrate from `vm` to `isolated-vm`"" 2024-02-01 16:47:41 +01:00
Adria Navarro 16749ec3dd
Revert "Migrate from `vm` to `isolated-vm`" 2024-02-01 16:30:34 +01:00
Adria Navarro bc7825dc93 Keep isolateRefs in context 2024-01-24 14:02:34 +01:00
Adria Navarro 73fee7dec7 Fix build 2024-01-15 12:04:35 +01:00
Sam Rose c508a435d6
Isolate and context re-use. 2024-01-12 15:08:08 +00:00
mike12345567 9feb91793c Fix for multi-tenancy issue in local development, couldn't load apps as it requires a tenant ID in the subdomain when in multi-tenancy mode which isn't possible in development - this makes sure that local development can work by using the users cookie instead. 2024-01-03 12:38:31 +00:00
Sam Rose bd324f3225
Implement per-request JS execution limiting. 2023-12-18 15:29:56 +00:00
Adria Navarro 188d5d09a2 Typo
Co-authored-by: Sam Rose <hello@samwho.dev>
2023-12-04 09:12:58 +01:00
Adria Navarro fa7693f6df Typo
Co-authored-by: Sam Rose <hello@samwho.dev>
2023-12-04 09:12:58 +01:00
Adria Navarro 7f52a1e28c Guard migration 2023-12-04 09:12:58 +01:00
Adria Navarro 14fc91d58a Add tests 2023-12-04 09:12:58 +01:00
Adria Navarro f62dd56dd6 Add doInAppMigrationContext 2023-12-04 09:12:58 +01:00
Adria Navarro fe0efc7539 Remove unused test context code 2023-12-04 09:12:57 +01:00
Sam Rose e3a4c34f8d
Pass types through context callbacks. 2023-11-08 16:17:24 +00:00
Sam Rose 47292b8ab4
Make DB name non-optional. 2023-11-08 14:37:19 +00:00
Sam Rose 767900aec6
Remove type information from JSDoc in .ts files, it's redundant. 2023-10-17 16:46:32 +01:00
Rory Powell 78daed6ec1 Lint 2023-05-17 15:31:14 +01:00
Rory Powell f41b134d31 Refactor to use param for doInAutomationContext 2023-05-17 14:57:29 +01:00
Rory Powell 578b599428 Lint 2023-05-17 14:10:22 +01:00
Rory Powell ad37186665 Logging updates for automations 2023-05-17 13:54:20 +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 ada052e043 Merging in develop - fixing some test cases which broke in the process. 2023-04-12 10:56:21 +01:00
mike12345567 c4a4bdc9da Fixing tenancy.spec.ts - mocking was a bit messed up, moving it all around to work as expected. 2023-04-11 10:54:04 +01:00
Mateus Badan de Pieri 6404f07cfe first tenancy tests working 2023-03-30 17:27:13 +01:00
mike12345567 24fc72657d Fixing all broken test cases after breaking out context fully from jestSetup/backend-core jest loading. 2023-03-30 16:35:25 +01:00
adrinr 1838f75dbc Add test 2023-03-28 16:46:23 +01:00
adrinr 54265816cc Renames 2023-03-28 16:46:23 +01:00
adrinr 099cc145bf Clean code 2023-03-28 16:46:23 +01:00
adrinr 04bd9dda9c Use new scim context functions 2023-03-28 16:46:23 +01:00
adrinr 6df08799bb Add isScim to user created event 2023-03-28 16:46:23 +01:00
mike12345567 d6b0b7610a Fixing circular dependencies which were blocking tests. 2023-02-24 17:31:58 +00:00
mike12345567 58fab29fb4 Main body of PR comments. 2023-02-24 13:32:45 +00:00
mike12345567 22f42ef898 Adding new mechanism to get the ipAddress and userAgent of call for audit logs. 2023-02-21 19:14:57 +00:00
mike12345567 ef30c03fa6 Merge branch 'develop' of github.com:Budibase/budibase into feature/audit-logs 2023-02-21 17:26:24 +00:00
mike12345567 6ec5e97ce9 Required work to support the new lucene audit logs search indexing. 2023-02-17 16:26:55 +00:00
mike12345567 46e9bf1443 Some updates to add in the audit log DB. 2023-02-13 18:16:13 +00:00
Rory Powell ae9979929a Enable higher concurrency and resiliency in worker tests 2023-02-13 11:57:30 +00:00
mike12345567 fc5f6ca530 Adding the ability to store environment variables to context, to make them more easily available/re-usable, as well as exposing them to queries. 2023-01-13 19:53:46 +00:00
Rory Powell fba7ef26ad Replace ts-jest with swc/jest (#9289)
- Add swc dependencies
- Add transform change to jest.config.ts
- Replace `export =` with `export default` in src code to enable code coverage to work with swc transformer
- Restructure backend-core errors package to allow for exporting error classes with ESM syntax
- Update backend-core to no longer use `export =`, export individual packages instead of replacing with `export default` for backwards compatibility
- Update event publishers to use `export default` - this was required for the `jest.spyOn` usage inside backend-core common mocks
- Restructure some jest.mock usages where declaring the jest.fn as a variable outside of the package mock threw an error
2023-01-11 09:37:37 +00:00
Rory Powell 786039055e File authentication using presigned URLs (#8883)
* file auth wip

* Private plugin bucket wip

* Add etag to logo request, fix circular dependency

* Resolve cyclic dependency

* Ensure browser doesn't cache custom component

* Global file fixes

* File fixes / remove permaUrl

* Add ctx local storage

* Enable presigned url to work from any host

* Test fix

* Self hosting w/ S3 + other fixes

* Fix for serving dev app in multi tenant

* Fix backup restore and import attachment url processing, never store attachment urls

* Test fixes

* Unit tests WIP

* Replace file path with base64 encoded private key

* Multi tenancy tests for files

* Environment files fixes

* Post-merge build and test fixes

* Add debug conditional to all jest logging and revert/fix prod minio proxy_pass

* Re-add default '/' minio route :(

* Rename iconFile -> iconFileName

* Add cloudfront vars to k8s templates

* Remove public bucket policy

* Remove duplicated test
2022-12-15 11:35:22 +00:00
mike12345567 d6e9380c06 General work after running some tests in CI - general refactoring as well. 2022-11-28 17:54:04 +00:00
mike12345567 90362b65c1 Disabling js interop in Typescript build of backend-core and worker, fixing build issues. 2022-11-26 14:46:01 +00:00
mike12345567 d3c4c99e16 Complete conversion of backend-core to Typescript. 2022-11-24 18:48:51 +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