Commit Graph

76 Commits

Author SHA1 Message Date
Adria Navarro 239a51a2c0 Typings 2023-05-15 13:16:56 +02: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
Rory Powell 976b3a55ca Update logging to support dd trace attributes (#10086)
* Update logging middleware to integrate with pino for console logging

* Remove elastic apm references, use updated core middlewares

* Remove redundant LOG_LEVEL definitions

* Remove no longer needed jest logging overrides

* lint

* Backwards compat between console log helpers and pino

* Configurable DISABLE_HTTP_LOGGING

* Don't log 4xx as errors

* Remove redundant ENABLE_4XX_HTTP_LOGGING

* Cleanup migrations and event logging

* Improve bb-alert logging

* Add DISABLE_HTTP_LOGGING to helm chart

* Add ops endpoints for testing

* Disable http logging in dev

* Backwards compatible tracing implementation

* Naming update on http logging env var

* lint

* Update packages/backend-core/src/environment.ts

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

* Merge

* Lint

* Fix console.warn failing mock by replacing with alerts mock instead

* Lint

---------

Co-authored-by: Adria Navarro <adria@revityapp.com>
2023-04-04 15:08:46 +01:00
mike12345567 b19df9da22 Some final updates to get event spyOn working again. 2023-03-30 17:15:49 +01:00
Rory Powell 4e1bebe897 Server flaky tests fixes - improving tenancy config 2023-02-23 13:43:27 +00:00
Rory Powell d3a7286711 Configs updates: remove circular deps, dedicated module, typing improvements, reduce db reads 2023-02-23 13:41:35 +00:00
mike12345567 7def2059f7 Updating test case which has been occasionally throwing 409 issues. 2023-02-10 18:29:29 +00:00
adrinr 420cb36ca7 Replace beforeeach for before alls 2023-02-03 19:02:40 +00:00
Adria Navarro 16e53957bc Merge branch 'develop' into feature/dependencies-image 2023-01-30 18:54:05 +00:00
mike12345567 49da99c8ac Adding context update to test case since it used to rely on the context update functionality. 2023-01-30 10:59:54 +00:00
Adria Navarro Redo 8c1e539fc7 Fix date related tests 2023-01-26 18:20:21 +00:00
adrinr 74269dbb27 Fix timespan issues 2023-01-26 18:20:05 +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 2ba9088faa PR comments, moving more stuff into SDK. 2022-12-06 12:22:41 +00:00
mike12345567 53a6c0e74b Fix for #8896 - the automation logs were already being sync'd to the dev database, but when unpublished they are in-accessible. Some minor updates to make sure that before unpublishing there is a sync, and then most of the changes are in pro. 2022-12-05 18:24:25 +00:00
Andrew Kingston a0776ac73a Fix types in table migration tests 2022-11-29 16:27:06 +00:00
Andrew Kingston 0b6c459fbd Add basic component type 2022-11-29 16:21:59 +00:00
Andrew Kingston 8567ae70af Merge branch 'develop' of github.com:Budibase/budibase into side-panel 2022-11-29 12:22:56 +00:00
Andrew Kingston 894a6b93e8 Update table migration test to use imports, and update TestConfiguration to work with type parameters 2022-11-29 12:19:37 +00:00
mike12345567 e62ebc8fbb Updates to fix build. 2022-11-28 13:24:39 +00:00
Andrew Kingston b042c9ed2e Add tests for table settings migration 2022-11-28 12:20:49 +00:00
Andrew Kingston abedb5d9eb Merge branch 'develop' of github.com:Budibase/budibase into side-panel 2022-11-25 11:24:57 +00:00
Andrew Kingston 9000349360 Refactor table settings migration slightly and add missing await keyword 2022-11-24 14:23:27 +00:00
Andrew Kingston 3480f6741c Rename table settings migration and only run on dev apps 2022-11-24 14:23:04 +00:00
mike12345567 02ede5d067 Finally removing all usages of backend-core/ type imports from server, including some further typescript conversions. 2022-11-22 19:49:59 +00:00
Andrew Kingston c58067a589 Merge branch 'develop' of github.com:Budibase/budibase into side-panel 2022-11-21 10:30:25 +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
Andrew Kingston 102d6084f1 Update table settings migration to handle new behaviour settings for table blocks 2022-11-17 10:11:25 +00:00
mike12345567 29dd98a7fc Merge branch 'develop' of github.com:Budibase/budibase into feature/replace-pouch 2022-11-16 18:12:31 +00:00
Andrew Kingston 2b42b21b3a Add migration to automatically convert legacy table settings into new action setting 2022-11-15 11:54:45 +00:00
mike12345567 c744d23832 Major update - removing the use of context for PouchDB instances, swapping knowledge of PouchDB to the PouchLike structure that replaces it. 2022-11-09 16:53:42 +00:00
Rory Powell 6783fd713e Update tenancy detection to honour any subdomain pattern according to platform url 2022-11-09 16:35:16 +00:00
mike12345567 3d98acc28a Minor test rework after improving startup, a lot of mocks weren't being used correctly. 2022-10-27 15:15:08 +01:00
Rory Powell 56456f3f6d Startup fixes 2022-10-25 13:37:26 +01:00
Rory Powell 9face50a07 Fix build failure around PouchDB type 2022-10-25 09:02:55 +01:00
mike12345567 8fdba78bde Merge branch 'develop' of github.com:Budibase/budibase into feature/app-backups 2022-10-13 15:59:31 +01:00
mike12345567 8d7f40e443 Refactoring more to Typescript, adding the ability to use the _find API of CouchDB. 2022-10-12 17:02:23 +01:00
Rory Powell 84685d3340 Add locking framework 2022-10-10 08:21:17 +01:00
Rory Powell e85e3828fd Test fix 2022-09-28 14:03:05 +01:00
Rory Powell d87e3904ae Create generic quota sync migration 2022-09-28 13:13:37 +01:00
Rory Powell 79226777b1 Merge develop 2022-09-28 08:56:45 +01:00
mike12345567 db6a150436 Updating test cases. 2022-05-26 17:31:57 +01:00
mike12345567 3cdda4a1fa Updating migration name. 2022-05-26 16:39:47 +01:00
mike12345567 723b96c5a5 Adding the ID inputs for the quota breakdown functionality. 2022-05-26 16:01:10 +01:00
mike12345567 f37712a453 Fixing context issues in sync apps/rows test cases. 2022-04-26 15:42:21 +01:00
Rory Powell 3991f25c5c Test fixes 2022-04-26 15:07:21 +01:00
Martin McKeaveney 9ca4dacbaa merge with master 2022-04-26 10:21:45 +01:00
mike12345567 345bbf603c Fixing issues with test cases - a lot of test cases didn't setup tenancy in any format, which now means that the API endpoints they call would not have access to a Global DB instance. Also had to disable the closing of the database in test as this was removing the database from memory, meaning future calls would find an empty database when they opened it. 2022-04-21 14:56:14 +01:00
mike12345567 192fb1307e Initial version of memory leak protection, making sure that PouchDB databases are closed correctly after use, using a combination of closures wrapping DB gets (this replaces the getDB, leaving only a dangerousGetDB function which can be used in very very specific scenarios) and then closing the DB as part of CLS hooked functions finishing. Also moving the GlobalDB init to the tenancy middleware as this is used everywhere in the worker/app services - means that not all getGlobalDB calls require an async closure around them. 2022-04-19 19:42:52 +01:00